Build a Blockchain and a Cryptocurrency from Scratch

Build a Blockchain and a Cryptocurrency from Scratch

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 6.5 Hours | 702 MB

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

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.

Table of Contents

Course Overview – What is the Blockchain And Why
1 Course Updates Plan
2 Note on the Introductory Videos
3 Important Course Repository and Requirements
4 Course Overview and Roadmap
5 What is the Blockchain and Why Use it
6 The Blockchain in Practice- Cryptocurrencies and Cryptography
7 The Blockchain in Practice- Mining and Bitcoin
8 Roadmap to Building the Blockchain- Guided by the Bitcoin White Paper

Build the Blockchain – Blocks
9 SHA256 Hash Function
10 Test the Block
11 Set Up the Blockchain Application
12 Create the Block
13 Genesis Block
14 Mine Blocks

Build the Blockchain – the Chain
15 Build the Blockchain Class
16 Test the Blockchain
17 Multiple Chain Validation
18 Chain Validation
19 Test Chain Validation
20 Replace the Chain
21 Test Chain Replacement

Develop the Blockchain Application
22 Organize the Project
23 Blockchain API – Get Blocks
24 Mine Blocks Post Request

Create the Blockchain Network
25 Peer to Peer Server
26 Create the WebSocket Server
27 Connect to Blockchain Peers
28 Handle Messages from Peers
29 Synchronize the Blockchain across Peers

Proof of Work
30 Proof of Work and the 51% Attack
31 Proof of Work and the Nonce
32 Test the Nonce Functionality
33 Dynamic Block Difficulty
34 Test Difficulty Adjustment

Wallets and Transactions on the Blockchain
35 Notes on the Upcoming Cryptocurrency Implementation
36 Wallets, Keys, and Transactions
37 Create Wallet
38 Chain Util and Key Generation
39 Create a Transaction
40 Test the Transaction
41 Sign a Transaction
42 Test the Transaction Input
43 Verify Transactions
44 Test Transaction Verification
45 Transaction Updates
46 Test Transaction Updates

Collect Transactions in a Pool
47 Transaction Pool
48 Transaction Pool – Add Transaction
49 Test the Transaction Pool
50 Create Transactions with the Wallet
51 Test Wallet Transactions
52 Get Transactions
53 Post Transactions
54 Add the Transaction Pool to the Peer to peer Server
55 Handle Transaction Messages in the Peer to peer Server
56 Public Key Endpoint

Mine Transactions in a Block
57 Miners of Transactions
58 Create the Miner Class
59 Grab Valid Transactions
60 Test Valid Transactions
61 Reward Transactions
62 Test Reward Transactions
63 Reward, Valid, and Clear Transactions
64 Broadcast Clear Transactions
65 Mine Transactions Endpoint
66 The Nuance of Wallet Balance
67 Calculate the Wallet Balance
68 Calculate the Balance during each Transaction
69 Test Balance Calculation
70 The Cryptocurrency in Action

Congratulations and Bonus Content
71 Congratulations and Bonus Content
72 Ideas on Extending the Project