Blockchain Certification Training Course

Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

Blockchain Certification Training Course

Course Agenda

Lesson​ ​0:​ ​Blockchain

What is Blockchain

Blockchain Technology Mechanisms & Networks

Blockchain Origins

Blockchain Objectives

Blockchain Users And Adoption

Blockchain Challenges

Transactions And Blocks

P2P Systems

Keys As Identity

Digital Signatures

Hashes As Addresses

Hash Pointers And Data Structures

Blockchain Transactions
Blockchain Block Structure

Mining Explained

Lesson​ ​1:​ Bitcoin

What is Bitcoin

The Bitcoin Network

The Bitcoin Mining Process

Mining Developments

Bitcoin Wallets

Decentralization And Hard Forks

Alternative Blockchains/Altchains

Ethereum Consensus Mechanisms

How Smart Contracts Work

Difference Between Private Consortium And Public Networks

Ethereum Virtual Machine (EVM)

Merkle Tree

Double-Spend Problem
New Developments In Blockchain

Ethereum’s Ecosystem And Dapps

Blockchain And Digital Currency

Transactional Blocks

Impact Of Blockchain Technology On Cryptocurrency

Cryptography

Lesson​ ​2:​ ​Ethereum

What is Ethereum?

Introduction

A Short History Lesson

Interfacing with Ethereum Networks

Metamask Setup

Ethereum Accounts

Receiving Ether

What's a Transaction?

Smart Contracts

Our First Contract


Contract Structure

Function Declarations

Testing with Remix

Redeploying Contracts

Behind the Scenes of Deployment

More on Running Functions Than You Want to Know

Wei vs Ether

Gas and Transactions

Mnemonic Phrases

Getting More Ether

Lesson​ ​3:​ Solidity Programming for Ethereum

Solidity - Language of Smart Contracts

Installing Solidity & Ethereum Wallet

Basics of Solidity by Example: Subcoin Smart Contract

Layout of a Solidity Source File & Structure of Smart Contracts

General Value Types (Int, Real, String, Bytes, Arrays, Mapping, Enum, address)

Ether Units, Time Units


Lesson​ ​4:​ ​Ethereum coding for Blockchain environment

Globally Available Variables & Functions

Operators: Arithmetic, Logical & Bitwise Operators

Control Structure (if-else, for, while, Do-While)

Scoping and Declarations

Input Parameters and Output Parameters

Function Calls & Return Types

Function Modifiers

Fallback Function

Abstract Contract

Creating Contracts via "new" Operator

Inheriting Smart Contracts

Importing Smart Contracts & Compiling Contracts

Events & Logging

Exceptions

Don't Skip! Node JS Versioning


Lesson​ ​5:​ ​Contract Deployment for Blockchain Environment

Boilerplate Requirements

Project File Walkthrough

Syntax Highlighters

Compiling Solidity

The Compile Script

Testing Architecture

Running Windows?

Installing Modules

Web3 Versioning

Web3 Providers

Testing with Mocha

Mocha Structure

Fetching Accounts from Ganache

Refactor to Async/Await

Deployment with Web3

Deployed Inbox Overview

Asserting Deployment
Web3 Version Fix

Verifying the Initial Message

Testing Message Updates

Deployment with Infura

Infura Signup

Wallet Provider Setup

Deployment to Rinkeby

Observing Deployment on Etherscan

Deployed Contracts in Remix

Complete Example: Crowd Funding Smart Contract

Complete Example: Voting Ballot Smart Contract

Lesson​ ​6:​ ​Advanced Smart Contracts

The Lottery Contract

Lottery Design

Basic Solidity Types

Starting the Lottery Contract

The Message Global Variable


Overview of Arrays

Overview of Mappings and Structs

Big Solidity Gotcha

Entering the Lottery

Validation with Require Statements

The Remix Debugger

Pseudo Random Number Generator

Selecting a Winner

Sending Ether from Contracts

Resetting Contract State

Requiring Managers

Function Modifiers

Returning Players Array

Contract Review

Lesson​ ​7:​ ​Ethereum Test Environment Setup

Test Project Updates

Test Helper Review


Asserting Deployment

Entering the Lottery

Asserting Multiple Players

Try-Catch Assertions

Testing Function Modifiers

End to End Test

Building Interactive Front-Ends

Lesson​ ​8:​ Ethereum Application Architecture

Application Overview

Getting Started with Create-React-App

Multiple Web3 Instances

Web3 Setup

Deploying the Lottery Contract

Local Contract Instances

Rendering Contract Data

Instance Properties

Accessing More Properties


The 'Enter' Form

Form Setup

Entering the Lottery

Picking a Winner

Project Review

Lesson​ ​9:​ Real World Ethereum Projects

Solving Real Problems with Contracts

Fixing Kickstarter's Issues

Campaign Contract Design

Campaign Constructor

Contributing to the Campaign

A Quick Test

The Request Struct

More on Function Modifiers

Creating Struct Instances

Instance Creation Syntax

Storage and Memory


More on Storage vs Memory

Voting System Requirements

The Wrong Voting System

Issues with Arrays

Mappings vs Arrays

Basics of Mappings

Refactoring to Mappings

Refactoring Request Stucts

More on Struct Initialization

Approving a Request

Testing Request Approvals

Finalizing a Request

Last Remix Test

Thinking about Deployment

Solution to Deployment

Adding a Campaign Factory

Testing the Factory


Lesson​ ​10:​ Creating Project Infrastructure for Ethereum

Project Setup

Directory Structure

A Better Compile Script

Single Run Compilation

More on Compile

Test File Setup

Creating Campaign Instances

Testing Warmup

Accessing Mappings

Requiring Minimum Contributions

Array Getters

One End to End Test

Deployment

Refactoring Deployment

Advanced Multi-Page Front-Ends

App Mockups

CRA vs Next
Next's Pages Architecture

Basics of Next Routing

Root Routes

CampaignFactory Instance

Getting a Test Campaign

Fetching Deployed Campaigns

Why Next.js?

Server vs Client Web3 Instances

GetInitialProps Function

Semantic UI React

Card Group Setup

Rendering Card Groups

Adding CSS

Adding a Button

The Need for a Layout

The Layout Component

Assembling a Header

Constraining Content Width


Two Column Layout

Nested Routing

Final CSS Fix

Form Creation

Input Change Handlers

Form Submittal

Testing Submittal

Form Error Handling

Button Spinners

Routing Issues

Next Routes Setup

Automatic Navigation

Header Navigation

Routing to Campaigns

Restarting the Server

Route Mappings
Lesson​ ​11:​ Ethereum Campaigns

​Planning CampaignShow

Redeploying CampaignFactory

CampaignShow's GetInitialProps

Accessing a Campaign

Summary Translation Layer

Custom Card Groups

One Card Per Property

The Contribute Form

Grid Layouts

Form State

Communicating the Campaign Address

Making a Contribution

Refreshing Contract Data

Spinners and Error Handlers

Listing Requests

Grids vs Columns

More Routing!
Request Creation Form

Creating a Request

Form Polish

Creating a Request

Requests One by One

Fancy Javascript

Small Typo!

Rendering a Table

Request Row Component

Request Row Content

Approvers Count Cell

Approving a Request

Finalizing Requests

Testing Finalization

Row Status Styling

Finishing Requests Index


Lesson​ ​12:​ Introduction to Hyperledger

What is Hyperledger?

Distributed Ledger Technology & its Challenges

Hyperledger & Distributed Ledger Technology

Lesson​ ​13:​ Introduction to Hyperledger Fabric using Composer

Hyperledger Fabric & Composer Concepts

Hyperledger Fabric : A DLT for Business Applications

Hyperledger Fabric : DLT for Business

Assets, Chaincode & Ledger

Assets, Chaincode and Transactions

Permissioned Network, Members & Membership Service Provider

Permissioned Network, Member & Membership Services

Nodes and Channels

Hyperledger Fabric Composer Overview

Pre-Requisites for Fabric development

Frequently Asked Questions | Common Issues

Development Machine Specifications & IDE


Composer Dev Tools Installation

Exercise: Validate the Composer Development Environment

Install Docker or Docker Toolkit

Install CURL and Cygwin (Windows only)

Lesson​ ​14:​ Setting up the Hyperledger Fabric Developer Environment Tools

Linux/Ubuntu & AWS: Setup of Fabric Development on Local & Cloud VM

Mac OS: Setup of Fabric Development Environment

Windows : Fabric development environment setup

How to use the Dev Tools

Development Environment Topology

Fabric Under the Hood (Concepts & Terminology)

Ledger Implementation

Dev Environment Walkthrough: Peer & CouchDB setup

Ledger Implementation

Peers Nodes : Anchors and Endorsers

Anchor Peers & Endorsing Peers

Clients Node: Endorsement Policies


Client Peer & Endorsing Policies

Orderer Nodes

Membership Service Provider & Certification Authority

Dev Environment Walkthrough: Orderer and CA Server

Chaincode Development

Lesson​ ​15:​ Hyperledger Composer tools for application development

Linux/Ubuntu & AWS: Setup of Fabric Development on Local & Cloud VM

Mac OS: Setup of Fabric Development Environment

Windows : Fabric development environment setup

How to use the Dev Tools

Development Environment Topology

Fabric Under the Hood (Concepts & Terminology)

Ledger Implementation

Dev Environment Walkthrough: Peer & CouchDB setup

Ledger Implementation

Peers Nodes : Anchors and Endorsers


Anchor Peers & Endorsing Peers

Clients Node: Endorsement Policies

Client Peer & Endorsing Policies

Orderer Nodes

Membership Service Provider & Certification Authority

Dev Environment Walkthrough: Orderer and CA Server

Chaincode Development

Lesson​ ​16:​ ​Front end application development using Hyperledger composer

Developing Front End Applications for Network Applications

Application Design Patterns

Application Architecture Patterns

Securing the REST server with Authentication Strategy

Walkthrough: Applying OAuth2.0 Authentication Strategy to REST Server

Working of Multi User Enabled REST Server

Walkthrough - REST Server Multi User mode

Create the Design Blueprint for the Fabric Application UI


​For​ ​information​ ​on​ ​the​ ​course,​ ​visit​:​ ​

https://www.simplilearn.com/blockchain-certification-training

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy