Build Blockchain

Build a blockchain and cryptocurrency. Discover the engineering ideas behind technologies like Bitcoin and Ethereum!

Last updated 2022-01-10 | 4.6

- Discuss the implementation of Blockchain and cryptocurrencies.
- Understand main blockchain concepts like Proof-of-Work
- mining
- peer-to-peer connections
- etc.
- Build their own blockchain and cryptocurrency.

What you'll learn

Discuss the implementation of Blockchain and cryptocurrencies.
Understand main blockchain concepts like Proof-of-Work
mining
peer-to-peer connections
etc.
Build their own blockchain and cryptocurrency.
Create a NodeJS application with real-time websocket connections.
Build an API with NodeJS and Express.

* Requirements

* Familiarity with using a code editor and the command line.
* Some JavaScript experience will help
* but every line is explained. This is not a course on advanced JS
* but uses JS to build the concepts. By focusing on the concepts
* the JS will become clear.
* Some programming experience will definitely help. If you've never coded before
* then this course will probably move too quickly.

Description

Announcement! There is a full-stack remastered version of this course! This course builds the backend. But if you're interested in building a frontend and deploying the project, check out the remastered version!


Search for "Build a Blockchain & Cryptocurrency | Full-Stack Edition" under my list of courses!


***

This course will get you to build a blockchain and cryptocurrency from scratch.

The blockchain is a revolutionary technology that allows for the secure, distributed, decentralized storage of information. Over the past few years, the blockchain has taken the engineering landscape by storm. Many people in the industry predict that the blockchain will disrupt the ways we interact with technology on the same way the Internet did in the early 2000s.

The blockchain is the main technology behind Bitcoin, Ethereum, and the other prominent cryptocurrencies that we read about in the news today. By leveraging the blockchain, cryptocurrencies create a system of “trustless”ness. This cuts the need for middle men like banks and traders in economic systems.

Do you want to enter this young market, and become a highly sought-after blockchain engineer? The industry is starving for people who understand, and even better, can build blockchains. The supply is low, but the demand is high. So having a blockchain project under your belt will open doors and jobs for you.

For engineers, coders, and software developers, the best way to truly understand the revolutionary technologies of blockchain and cryptocurrencies, is to build a blockchain and cryptocurrency yourself. Therefore, this course will take you through implementing a blockchain and cryptocurrency - discovering the underlying techniques and concepts.

The course is designed into sections that introduce the main concepts of the blockchain one-by-one. By the end of the course, you will have a respectable blockchain project in your repertoire.

Some of the main course highlights:

  • Build a Blockchain in the object-oriented programming style.

  • Generate hashes for blocks in the chain.

  • Unit Test Components of the Blockchain.

  • Create an API around the Blockchain.

  • Create a real-time connected peer-to-peer server.

  • Implement a proof-of-work algorithm.

  • Sign Transactions with cryptography and digital signature.

  • Create a Transaction Pool for a real-time list of incoming data.

  • Include transactions in core blocks of the chain.

We’ll use NodeJS to implement this project. Don’t worry if you’re not familiar with JavaScript. This course explains the purpose behind every line and keyword. So, while JS experience will help, it’s not an absolute requirement.

Written summaries supplement each tutorial. That way, you can move along at your own pace, either watching the more thorough filmed tutorial, or reading the summary.

Ultimately, knowledge of the Blockchain will set you up for success in the future, as an engineer in a blockchain-dominated world. So what are you waiting for? Let’s get started building a blockchain!

Who this course is for:

  • The Blockchain engineers of the future.
  • Anyone wanting to understand how cryptocurrencies are built.
  • Cryptocurrency holders, so that way they can understand the underlying system.
  • Anyone who wants to build a huge project in NodeJS, and it to their repertoire.

Course content

10 sections • 71 lectures

Course Overview and Roadmap Preview 03:22

Note on the Introductory Videos Preview 00:27

What is the Blockchain and Why Use it? Preview 07:11

The Blockchain in Practice: Cryptocurrencies and Cryptography Preview 04:38

The Blockchain in Practice: Mining and Bitcoin Preview 05:48

Roadmap to Building the Blockchain: Guided by the Bitcoin White Paper Preview 05:56

Important: Course Repository and Requirements Preview 00:59

Set Up the Blockchain Application Preview 02:12

Create the Block Preview 10:00

Genesis Block Preview 04:24

Mine Blocks Preview 04:21

SHA256 Hash Function Preview 06:30

Test the Block Preview 10:24

Build the Blockchain Class Preview 04:45

Test the Blockchain Preview 05:24

Multiple Chain Validation Preview 03:13

Chain Validation Preview 06:16

Test Chain Validation Preview 05:18

Replace the Chain Preview 03:54

Test Chain Replacement Preview 04:26

Organize the Project Preview 02:37

Blockchain API - Get Blocks Preview 08:54

Mine Blocks Post Request Preview 05:53

Peer to Peer Server Preview 02:48

Create the WebSocket Server Preview 08:04

Connect to Blockchain Peers Preview 07:07

Handle Messages from Peers Preview 07:13

Synchronize the Blockchain across Peers Preview 08:02

Proof of Work and the 51% Attack Preview 05:49

Proof of Work and the Nonce Preview 06:32

Test the Nonce Functionality Preview 06:40

Dynamic Block Difficulty Preview 09:29

Test Difficulty Adjustment Preview 08:24

Notes on the Upcoming Cryptocurrency Implementation Preview 00:28

Wallets, Keys, and Transactions Preview 05:56

Create Wallet Preview 04:24

Chain Util and Key Generation Preview 07:36

Create a Transaction Preview 08:13

Test the Transaction Preview 09:33

Sign a Transaction Preview 07:13

Test the Transaction Input Preview 01:52

Verify Transactions Preview 04:46

Test Transaction Verification Preview 03:18

Transaction Updates Preview 06:31

Test Transaction Updates Preview 06:05

Transaction Pool Preview 01:41

Transaction Pool - Add Transaction Preview 04:41

Test the Transaction Pool Preview 08:45

Create Transactions with the Wallet Preview 07:08

Test Wallet Transactions Preview 10:51

Get Transactions Preview 05:16

Post Transactions Preview 05:40

Add the Transaction Pool to the Peer to peer Server Preview 07:45

Handle Transaction Messages in the Peer to peer Server Preview 08:38

Public Key Endpoint Preview 02:07

Miners of Transactions Preview 01:27

Create the Miner Class Preview 05:38

Grab Valid Transactions Preview 06:13

Test Valid Transactions Preview 08:13

Reward Transactions Preview 08:28

Test Reward Transactions Preview 04:01

Reward Valid, and Clear Transactions Preview 04:59

Broadcast Clear Transactions Preview 03:17

Mine Transactions Endpoint Preview 08:46

The Nuance of Wallet Balance Preview 03:00

Calculate the Wallet Balance Preview 10:40

Calculate the Balance during each Transaction Preview 05:08

Test Balance Calculation Preview 12:31

The Cryptocurrency in Action Preview 04:38

Full-Stack version of this course! | Also, Congratulations and Bonus Content Preview 01:00

Ideas on Extending the Project Preview 00:49