A simple and lightweight bitcoin wallet, written in python 3.6. The gui is implemented using python's tkinter library.
Download and extract the zip file containing the program.
The program is only guaranteed to be compatible with Windows (Tested on Windows 10), however it should run fine on Linux/MacOS systems (including the use build.py to create a standalone executable). Python 3.6 is required.
Use pip to install all dependencies, by using the following command in the root directory of the program:
pip install -r requirements.txt
Then the program can be started by running the main.py file in the root of the directory.
python main.py
or alternatively, you can build an executable yourself by typing:
python build.py
and the packaged executable will be in the "bin" directory, and can be moved elsewhere.
To run all tests defined in the tests directory, use the following command in the root of the directory:
python test.py
- base58 - used to verify base58check encoded bitcoin addresses
- bitstring - allows for easy bit manipulation required for generating bip39 mnemonics
- btcpy - used for creating and signing bitcoin transactions
- cryptography - used to implement symmetric key file encryption
- pillow - displaying file formats that don't have native tkinter support
- pytest - testing suite used
- qrcode - creating and displaying qrcodes in the gui
- requests - for making api calls to various bitcoin apis
- bip32utils - implementation of Bip32 key derivation
- pyinstaller - packaging scripts into standalone .exe
UI design inspired by the popular electrum bitcoin wallet