Course Description
This class teaches how to build a reference implementation of a blockchain in Go. The goal of the class is to provide foundational knowledge about the different aspects of blockchain nodes and wallets. From the beginning, you will pair program with the instructor, walking through the design philosophies and guidelines used to engineer the code. With each new feature, you will learn more about the different aspects of a blockchain and how they all work together. In the class, you will write both a wallet and blockchain node that can work in a distributed way.
Over the course of 4 days we will cover:
- Digital accounts with electronic signatures and verification
- Transaction distribution and synchronization between computers
- Redundant storage of a single ledger on different computers
- Consensus by different computers to process and store new transactions
- Detection of any forgery to past transactions
Important: Upon completion of each session, there will be a video recording available for download for a period of 48 hours.
What a student is expected to learn
You’ll learn about the fundamentals of what a blockchain is and how it behaves. We will be challenging every student to think about what they are doing and why.
Prerequisites
A basic understanding of the Go programming language is recommended. Aside from that, we will be learning together over the 4 days!