Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
executable file
·
45 lines (28 loc) · 1.91 KB

File metadata and controls

executable file
·
45 lines (28 loc) · 1.91 KB
Copy raw file
Download raw file
Outline
Edit and raw actions

Blockchain Python tutorial

Important: This project is for educational purposes only and the source code shouldn't be use in production as it doesn't have good security, doesn't scale well and lacks many important features.

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

Dependencies

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

Visit my Blog : http://adilmoujahid.com

Morty Proxy This is a proxified and sanitized view of the page, visit original site.