The Chia Wallets are designed to show off Chia's approach to transactions, and our new language ChiaLisp. At the moment this project is uses a local server which simulates the full network. This allows us to test the wallet functionality in isolation.
The local server which handles transactions in Chia is called ledger_sim.
We have a tutorial for writing smart transactions, and other documentation available here.
To install this repository, and all requirements, clone this repository and then run:
$ python3 -m venv .venv
$ . .venv/bin/activate
$ pip install -r requirements.txt
$ pip install -e .
(Note: at the moment blspy may require you to have CMake installed as well, though this dependency should be temporary)
To use the QR codes you will also need to support pyzbar.
On Windows this requires no extra effort.
On Linux, run:
$ sudo apt-get install libzbar0
$ pip install pyzbar[scripts]
On Mac, run:
$ brew install zbar
$ pip install pyzbar[scripts]
The standard command-line wallet contains the default functionality for a wallet. It can send and receive transactions as well as generate QR codes and a few other 'smart' features.
In a terminal window, run:
$ . .venv/bin/activate
And then launch an instance of ledger-sim with:
$ ledger-sim
Then to start a new standard wallet, in a new terminal window, run:
$ . .venv/bin/activate
And then launch the standard wallet with:
$ wallet
Feel free to run more than one instance of the wallet to test sending money between them.
The options available in a standard wallet are:
The Smart Transactions currently available are:
$ as_wallet
- guide$ ap_wallet
- guide$ recoverable_wallet
- guide$ multisig_wallet
- guide$ rl_wallet
- guideFor more information about the smart wallets, check out our docs.
Firstly, make sure pytest is installed with
$ pip install pytest
Then you can run our tests with
$ py.test tests