This device is not compatible.

You will learn to:

Implement the fundamental concepts and principles of blockchain technology.

Implement the core blockchain components.

Implement the proof of work (PoW) consensus algorithm.

Develop proficiency in Go by implementing a blockchain from scratch.

Skills

Blockchain Development

Blockchain Mining

Prerequisites

Intermediate understanding of Go

Basic understanding of blockchain

Technologies

Go

Blockchain

Project Description

In this project, we will get hands-on experience building a functional blockchain system from scratch using Go. We will explore the core concepts of blockchain, including blocks, hash functions, the proof of work algorithm, and transaction management.

We’ll begin by implementing the block structure and blockchain structures, and learn how hashes are computed and utilized within the blockchain by implementing hash functions. Next, we’ll create blocks, including the Genesis block and blockchain. We’ll implement the proof of work algorithm responsible for mining blocks in the blockchain and also delve into transactions and wallets within the blockchain system, creating a transaction structure that enables the secure and reliable transfer of assets within the blockchain network. Also, we’ll design and implement wallets with associated functions, allowing users to manage their digital assets effectively.

Project Tasks

1

Blockchain Prototype

Task 0: Get Started

Task 1: Create Blocks and Blockchain Structures

Task 2: Compute the Hash of a Block

Task 3: Create a New Block with the Genesis Block

Task 4: Initialize and Add a Block to the Blockchain

Task 5: Test the Blockchain

2

Proof of Work

Task 6: Create and Instantiate the Proof of Work Structure

Task 7: Mine a Block

Task 8: Validate the Proof of Work Algorithm

Task 9: Test the Proof of Work Algorithm

3

Transactions

Task 10: Create the Transaction Structure

Task 11: Add Transactions to the Block

Task 12: Test the Transactions

4

Wallets

Task 13: Add Wallet Functionality

Task 14: Sign and Verify the Transactions

Task 15: Test the Wallets

Congratulations!