hanahem / microBlockchain

šŸ¦  ĀµBlockchain - a training project to grasp Blockchain's basic concepts

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

microBlockchain

#4b0d89 ĀµBlockchain - a training project to grasp Blockchain's basic concepts.

This projet is an incentive to learn how Blockchain works. To train on Python3.6 basic concepts and basic HTTP requests. And to make a minimalist Blockchain toolkit to try new features and experiments.

This project has been built following over Daniel val Flymen's tutorial: Learn Blockchain by building one. That's why I strongly advise you to follow along the tutorial, and check his repository and his tutorial for further information

Dependencies & Installation

You need:

  • Python3.6
  • pipenv
  • Flask
  • requests
  1. Install Python3.6+
  2. Intall pipenv
  3. Install the tutorial's dependencies

Basic usage

To use the ĀµBlockchain:

  1. Install dependencies
  2. Clone the repository
  3. Run blockchain.py using python3.6 blockchain.py
  4. Once running you can
    • See the whole chain bash see_chain.sh
    • Make a transaction bash see_chain.sh sender recipient amount example: bash see_chain.sh satan me 666
    • Mine on the ĀµBlockchain bash mining.sh

Have fun! :)

I'd like to thank @dvf for this absolutely minimalistic and yet concise tutorial, waiting for updates :)

TODO:

  • Implement Consensus algorithms
  • Fix bash scripts bugs with strings params
  • Test consensus algorithms and routes (use a different port and a different machine) and bash scripts
  • Clean code
  • Add more features
  • Test
  • Create middleware modules
  • Test
  • Create a "micro" React Web app to visualize how the block chain is created and how it is constructed through nodes interactions between nodes
  • Test
  • Install Popmotion to create beautiful animations

About

šŸ¦  ĀµBlockchain - a training project to grasp Blockchain's basic concepts


Languages

Language:Python 94.1%Language:Shell 5.9%