The github repository contains a basic implementation of a blockchain and its client using Python. This blockchain has the following features:
- Possibility of adding multiple nodes to the blockchain
- Proof of Work (PoW)
- Simple conflict resolution between nodes
- Transactions with RSA encryption
The blockchain client has the following features:
- Wallets generation using Public/Private key encryption (based on RSA algorithm)
- Generation of transactions with RSA encryption
This github repository also contains 2 dashboards:
- "Blockchain Frontend" for miners
- "Blockchain Client" for users to generate wallets and send coins
- Works with
Python 3.6 - Anaconda's Python distribution contains all the dependencies for the code to run.
- To start a blockchain node, go to
blockchainfolder and execute the command below:python blockchain.py -p 5000 - You can add a new node to blockchain by executing the same command and specifying a port that is not already used. For example,
python blockchain.py -p 5001 - TO start the blockchain client, go to
blockchain_clientfolder and execute the command below:python blockchain_client.py -p 8080 - You can access the blockchain frontend and blockchain client dashboards from your browser by going to localhost:5000 and localhost:8080
