Create a Blockchain from Scratch using Python



Description

In this course, we will be building on the Blockchain theory course, by creating an actual blockchain from scratch. The best way to understand the theoretical concepts, is to put them in to practice and code a blockchain project. We will be building our blockchain, from the genesis block and incorporate all the building blocks of blockchain technology - including: creating the transaction object, signing a transaction with a private key, creating a wallet key-pair, recording transactions in the transaction pool, mining a block with transactions and calling these functions from a flask application. We take it a step further by creating a database for our blockchain and building a peer-to-peer network - where multiple nodes running this blockchain code and connect and manage and maintain the same set of data between each other.


What You will Learn?

  • Python blockchain libraries such as ZMQ and Fastecdsa
  • Coding a python flask application
  • Coding a blockchain class, wallet class and peer2peer class
  • Basic blockchain functions - transaction and block management
  • Python mysqldb library - talk to mysql database
  • VPS, Ubuntu OS, Python 3 set-up, Git set up and MYSQL set-up
  • Running python program on a Virtual Private Server (VPS)
  • Python threading library - run parallel functions in python
  • Python for blockchain development

Pre-Requisites

  • Basic knowledge of python will be useful
  • Blockchain intro theory course

Skills

  • Blockchain developer skills
  • Intermediate python developer skills
  • Virtual server skills, Ubuntu command line ops
  • Git version management with remote server

Tutor: Bertha Kgokong

Software Programmer And Tech Entrepreneur

Software Programmer and Tech Entrepreneur, i have extensive experience in Software Development - end-to-end in most platforms, Business Processes and Entrepreneurship. I am a fully qualified Engineer, with a Bachelors Degree and Masters in Business Administration - with over 17 years of professional experience. I am also an entrepreneur with a couple of award winning ventures and projects in Software Development.