akhiljns / p2p-power

Final year project which implements p2p smart power blockchain management (with hardware)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

Dependencies

  • Works with Python 3.6
  • Refer requirements.txt

How to run the code

  1. To start a blockchain node, go to blockchain folder and execute the command below: python blockchain.py -p 5000
  2. 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
  3. TO start the blockchain client, go to blockchain_client folder and execute the command below: python blockchain_client.py -p 8080
  4. You can access the blockchain frontend and blockchain client dashboards from your browser by going to localhost:5000 and localhost:8080

System requirements to run the project (ideal)

  • 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

About

Final year project which implements p2p smart power blockchain management (with hardware)


Languages

Language:HTML 69.7%Language:Python 30.2%Language:CSS 0.1%