Blockchain, understanding how it works while creating one

Blockchain, understanding how it works while creating one

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 6h 10m | 3.13 GB

Understand Bitcoin, Ethereum and other cryptocurrencies. How a wallets sign transaction and how blocks are created

If you new to cryptocurrencies or use them every day you maybe still have many questions, such as:

  • What makes a block on the blockchain and how are blocks linked on the blockchain?
  • How blocks are validated and added to the chain?
  • How wallets’ private and public keys work?
  • How wallets sign and validate transactions?
  • What is a decentralized system and why cryptocurrency uses it?
  • What is SHA256 and why bitcoin use it?
  • What is proof of work?

Or many other the thousands of questions we cover on this course, in this course, you will learn how this amazing technology works under the hood as we learn by creating each piece of the blockchain and adding it all together.

In this course we will create together:

  • SHA256 hashers
  • Blocks
  • Blockchain
  • Decentralized Blockchains
  • Transactions
  • Wallet
  • Sign and validate transactions
  • Signed transactions
  • And much more

In each class, you will learn (by doing) a new piece of the blockchain, expanding your knowledge on each new class and build on top of the newly acquired knowledge.

This course is created using JavaScript and React, all the blockchain parts are created separated to easily understand.

This course is not aimed to create a complete blockchain, but a sample blockchain with a fixed number of transactions where we can explore how each part of the blockchain works.

What you’ll learn

  • What is blockchain
  • How blockchain works
  • What is SHA256
  • What is a wallet on the blockchain
  • How wallets sign transactions on the blockchain
  • What are private and public keys
  • How each individual peace of the blockchain works
  • How each peace on the blockchain connects to each other
Table of Contents

Introduction
1 Introduction

Lets shape the new blockchain courses content together
2 Don’t skip this lecture, your future learning blockchain literally depends on it

Creating our React application to visualize our Blockchain
3 Create our react app the Blockchain Visualiser
4 Installing Chakra UI to make our blockchain look nice

SHA256 Hash, what is it and why it is so important for the block chain
5 Introduction to SHA256 hash
6 Build our own SHA256 Hash visualiser
7 Adding useState and useEffect to your SHA256 visualiser
8 Creating a hash function and using it on our react app
9 Understanding SHA256 hash

Blocks, understand how a block works on the blockchain
10 Introduction to Blockchain Blocks
11 Creating a single block for the blockchain
12 Adding the Block Number and the nonce to our block
13 Hashing our block data
14 Checking if the block is valid by checking its hash
15 Creating a function to mine our block
16 Checking for the block signature hash using leading zeros

Blockchain, how to we chain our blocks into a complete blockchain for security
17 Introduction to Blockchain Blocks
18 Creating the blockchain block of the blockchain
19 Creating a chain of blocks for our Blockchain
20 Using immer to help us with React State
21 Creating the blocks for the blockchain programatically
22 Passing the values from the blockchain to the blocks
23 Passing values from the blocks to the blockchain
24 Chaining the blocks in the blockchain by passing the hash to the next block
25 Adding the previous hash to the hash functions
26 Exploring the blockchain on a single node

Creating a navigation system to navigate the different parts of our blockchain
27 Introduction to the new navigation system
28 Creating our Chackra Navbar
29 Creating our menu items
30 Adding the links on our menu items

Creating the transactions inside our Blockchain
31 Adding react router dom to our project

Creating a distributed blockchain network
32 Introduction to the distributed blockchain network
33 Creating our distributed blockchain link
34 Adding new nodes to our distributed blockchain
35 Small Stylistics changes on the Distributed Blockchain Viewer
36 Add Blockchain Node to pass the node number back to the distributed component
37 Making a copy to the previous hash on the blockchain block
38 Comparing the last chain hashes on the blockchain
39 Fixing the problem where the hash count was one step behind
40 Finding the hash with more nodes on the blockchain
41 Finishing our distribute blockchain viewer

Introduction to Transactions Blocks
42 Introduction to transactions on the Blockchain
43 Creating our blockchain transactions viewer
44 Creating our Transactions Block
45 Creating a Transaction Component
46 Displaying the transactions on the Block from our Blockchain
47 Updating the transactions on the Block
48 Updating the transactions on the Blockchain
49 Moving the transactions to the main blockchain object
50 Fixing the blocks to start as mined blocks
51 Updating the transactions on the block from the blockchain
52 Saving the amount on the block chain as a number instead a string

Creating a wallet with public and private keys to use on the blockchain
53 Introduction to blockchain wallets
54 Creating our Wallet
55 Making UI changes for our blockchain wallet
56 Fixing our wallet state and function names
57 Adding the Secp256k1 (the same used on Bitcoin) encryption to create our wallet
58 Finishing our blockchain wallet

Signing and Verifying Wallet transactions using the Public and Private Keys
59 Introduction in how to Sign and Verify wallet transactions on the blockchain
60 Creating our Signature and Verification Component
61 Adding the Sign and the Verify UI
62 Adding the new fields to sign and verify the transactions
63 Sharing the data from the wallet with the Sign and Verify components using Immer
64 Creating a function to update any field on state from any component
65 Copying the wallet signature to the verify signature component
66 Update the private, public keys and signature on all components
67 Finish altering the wallet sign transaction component
68 Creating the wallet and hash methods to sign a transaction
69 Sign a transaction with the wallet private key
70 Verifying the wallet signature
71 Displaying the check sign result on our verify wallet component
72 Trying to verify the correct signature from a different wallet
73 Handling wrong public keys

Creating a wallet with transactions with signature
74 Introduction to the wallet with transaction and signature
75 Creating our new Wallet with Transactions component
76 Creating a link to our wallet with transactions
77 Adding transactions to the sign wallet
78 Adding transactions to the verify wallet
79 Updating the transactions value

Error
80 Fix wallet error `updateWalletData` is not a function

Lets put everting together blockchain with wallets and signed transactions
81 Introduction to Blockchain with wallets and signed transactions
82 Creating our blockchain with wallet and signed transactions
83 Adding wallets to use on our blockchain
84 Adding a signature field on the transaction
85 Creating a modal to input our Private Key
86 Verifying the transaction signature
87 Adding the sign transaction modal to the lock button
88 Enter the logic to sign the transaction using the wallet method
89 Adding the wallet signature to the ui
90 Verifying the transaction signature
91 Been able to tamper with the wallet signature
92 Breaking the chain when one block has invalid signature

Homepage