• Post category:StudyBullet-13
  • Reading time:10 mins read


Discover the Art of Building Your Own Blockchain that Supports Cryptocurrency and Smart Contracts.

What you will learn

The Basics of Blockchain Technology and How it Works.

Proof of Work, Hashing and Cryptography.

The Process of Creating a Blockchain from Scratch.

Miner Nodes, Full Nodes and Light Nodes.

How Crytocurrency Work on a Peer-to-Peer Network.

Mempool, Block Reward and Transaction Fees

Smart Contract Deployment and Execution

Runtime Engine and Global State (LevelDB)

Description

Welcome to our course on building a peer-to-peer network based on blockchain technology!

In this course, we will start by exploring the theory behind how blockchain works. You will learn about the key principles that underlie this innovative technology, including decentralization, consensus, and security. We will also delve into the technical details of how blocks are created and added to a blockchain, and how transactions are validated and processed.

Next, you will have the opportunity to put your knowledge into practice by building a blockchain from scratch in Javascript. This hands-on activity will give you a deep understanding of how a blockchain functions at a technical level.

Following this, you will learn about peer-to-peer networks and how they are used to facilitate communication and data transfer in decentralized systems. You will also have the chance to build a simple peer-to-peer network as a way of reinforcing your understanding of this important concept.


Get Instant Notification of New Courses on our Telegram channel.


Then, you will learn how to implement a blockchain application on a peer-to-peer network, where multiple nodes are connected and can perform transactions with one another. This will give you the opportunity to apply your knowledge of blockchain technology and peer-to-peer networks to a real-world scenario.

Our ultimate goal is to make our blockchain support smart contracts. This means that nodes in the network will be able to deploy and execute smart contracts. These contracts will be written in a unique programming language, similar to how Ethereum uses Solidity, and we will have a customized runtime engine for executing these contracts, akin to Ethereum’s Ethereum Virtual Machine (EVM).

Outline of the course content:

  1. Introduction to blockchain theory, covering decentralization, consensus, and security.
  2. Technical details on how blocks are created and added to a blockchain, and how transactions are validated and processed.
  3. Hands-on activity building a blockchain from scratch in JavaScript.
  4. Understanding of peer-to-peer networks and how they are used to facilitate communication and data transfer in decentralized systems.
  5. Building a simple peer-to-peer network.
  6. Implementing a blockchain application on a peer-to-peer network, with multiple nodes connected and able to perform transactions with one another.
  7. Introduction to smart contracts, with the goal of making our blockchain support them.
  8. Developing smart contracts using a unique programming language.
  9. Customized runtime engine for executing smart contracts, similar to Ethereum’s Ethereum Virtual Machine (EVM).

Overall, this course will provide you with a solid foundation in blockchain technology and give you the skills and knowledge you need to build and implement your own blockchain applications.

English
language

Content

Blockchain Fundamentals

Bitcoin Explained in 10 Minutes
Double Spending Issue
Bitcoin – Brief History
Public Key Cryptography
Blockchain – Hashing
Bitcoin – What is a Block
Bitcoin – Proof of Work (High Overview)
Centralized vs Decentralized Systems
Bitcoin – Mining Process
Bitcoin – Chaining Blocks
Proof of Work (Nonce Value)
Resolving Conflicts
Transaction Pool (Mempool)
Bitcoin Mining (Candidate Block)
Bitcoin Mining Process (From Start to Finish)
Blockchain – Incentives to Miners (Block Reward + Transaction Fee)
Full Nodes vs Light Nodes vs Miner Nodes
How Bitcoin Wallets Work
Hot vs Cold Wallet
Quiz !

Programming ——————————————————–

How to get started

Part I – Basic Blockchain

Let’s get started !
Creating a Block
Debugging
Creating a Blockchain
Debugging

Part II – Advanced Blockchain

Creating a Transaction
Creating a Wallet and Signing Transactions
Debugging
Get Wallet Balance
Blockchain Validity
Debugging
Adding Gas Fees
Debugging

Part III – Basic Client-Server Architecture

Client-Server vs P2P Architecture
Building a Client-Server Architecture using WebSockets
Debugging

Part IV – Advanced Peer-to-Peer Architecture

Introduction
Creating The First Node
Creating Two More Nodes
Debugging

Part V – Integrate Blockchain into a P2P Architecture

Introduction
Private Keys
Blockchain Modifications
Creating a Miner Node
Creating Two Full Nodes
Debugging
Creating a Light Node
Debugging

Merkle Tree

Block Structure In The Bitcoin Protocol
Merkle Tree Introduction
Merkle Tree Working Principle
What Problem Does a Merkle Tree Solve?

Part VI – Merkle Tree Implementation

Code Refactoring
Block Header Implementation
Debugging
Recording Each Transaction
Light Node Storing Block Headers
Debugging
Simplified Payment Verification (SPV)
SPV – Implementation Part I
SPV – Implementation Part II
Debugging

Smart Contract

Introduction
Smart Contracts
Deploying Smart Contracts
Executing Smart Contracts
Global State

Part VII – Smart Contract Implementation

Deploying a Smart Contract
Debugging
Executing a Smart Contract
Debugging
Runtime Engine Implementation – Part I
Runtime Engine Implementation – Part II
Runtime Engine Implementation – Part III
Debugging
Creating a global state (LevelDB) – Part I
Creating a global state (LevelDB) – Part II
Deploying a second Smart Contract
Debugging
Final Note