Skip to content

GavinShox/Bit-Store

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bit-Store

A simple and lightweight bitcoin wallet, written in python 3.6. The gui is implemented using python's tkinter library.

Getting Started

Download and extract the zip file containing the program.

Prerequisites

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.

Installing

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.

Running Tests

To run all tests defined in the tests directory, use the following command in the root of the directory:

python test.py

Built With

  • 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

Acknowledgments

UI design inspired by the popular electrum bitcoin wallet