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
- Making online wallet
- storing transaction values in online wallet
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 jhoncoin and dashboard to buy energy.
- Works with
Python 3.6
- Refer requirements.txt
- To start a blockchain node, go to
blockchain
folder 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_client
folder 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
- 2.0GHz or faster processor (equivalent to 4th generation Intel i3 processor or better)
- linux or windows operating system with python 3.6
- 2 GB of storage space
- 4 GB of RAM