Design and Setup Hyperledger Fabric Infrastructure from scratch:
Setting up Hyperledger Fabric Infrastructure is a complex task that requires the users to understand the concepts and the tools. This course is for technologists who are looking to architect & design solutions on Hyperledger Fabric based Distributed Ledger Technology (DLT).
Pre-Requisites
Students MUST have the conceptual knowledge of Hyperledger Fabric DLT
Students MUST be comfortable with basic Linux commands
Students MUST be comfortable with basic/simple shell scripts
Students MUST be willing to learn (Fabric related technologies) on their own
Good to have:
- Basic understanding of Docker
- Understanding of Virtual Machines | Hyper
- Access to cloud
- Working knowledge of JSON or YAML format
What would you learn?
At the end of this course students will:
1. Have hands on knowledge of Hyperledger Fabric Components/Architecture
2. Understand how to design the Hyperledger Fabric Infrastructure as per the requirements
3. Be able to setup the test & production grade infrastructure
4. Design Consortium setups & policies
5. Configure the YAML files for Fabric network initialization
6. Carry out Fabric network configuration updates
7. Setup Fabric CA & manage identities
8. Fabric setup on cloud (AWS
Course Curriculum :
Hyperledger Fabric Refresher
Hyperledger Project and Blockchain for Business
Hyperledger Fabric Architecture & Components (Part 1)
Hyperledger Fabric Architecture & Components (Part 2)
Hyperledger Fabric Binaries & Configuration
Hyperledger Fabric Distribution and Infrastructure options
Setup the Fabric Test Environment
Development Machine Requirements & Setup options
Introduction to Hypervisor & setup of Virtual Box and Vagrant
HLF2 - Course Project Setup
Visual Studio Code & HLF2 Project Folders Overview
Setting the stage
Consortiums and Blockchain Networks
Case Study: The Airlines Industry Consortium
Cryptogen Tool
Cryptogen Command Line Interface (CLI)
Cryptogen tool configuration setup
Test environment setup & use of cypto material
Exercise - Setup crypto-config.yaml for 2 Peer Orgs
Configtxgen Tool
Introduction to the configtxgen tool
Setting up the configtx.yaml file
Configtx YAML - Profiles section
Generating the Genesis Block
Generating the Create Channel Transaction
Generating the Anchor Peer Update Transaction
Exercise-Setup a new Channel Profile with 2 Orgs
Orderer Binary & Setup
Orderer Binary Overview
Test Environment Setup
Orderer YAML File Overview
Orderer configuration: Genesis Block & Ledger Storage
Orderer configuration: BCCSP & MSP Setup
Orderer configuration: gRPC Setup
Kafka 101 and Installation
Recipe: Switch the Orderer Type to Kafka
Peer Binary commands & Setup
Peer binary overview
Peer Test Setup
Peer Commands: help, version, node, logging
Command: Channel create, join, list
Command: Channel fetch, getinfo
Command: Channel signconfigtx, update
Command: Chaincode install, instantiate, list
Command: Chaincode upgrade
Command: Chaincode query, invoke
Command: Chaincode package
Recipe: Automating the Peer Initialization
Peer concepts and setup
Peer configuration file overview
Peer setup : Identity, GRPC listener, MSP
Transport Layer Security
Recipe: Enabling Peer Transport Layer Security (TLS)
Gossip Data Dissemination Protocol
Gossip parameters setup
BCCSP Setup
Peer Events Overview & Setup
Ledger & State Data Persistence
Recipe: Using CouchDB for State Data Persistence
Chaincode and Peer Setup
Install & Instantiate process under the covers
Recipe : Debugging Chaincode using Peer Dev Mode
Peer Storage & Naming Schemes
Exercise: Hands on with Peer Storage & Naming
Introduction to System Chaincode
Application chaincode Lifecycle & LSCC
Recipe : Removing the Chaincode from Peer
Endosement & Validation System Chaincode (ESCC & VSCC)
Configuration & Querying System Chaincode (CSCC & QSCC)
Network Configuration Tools - configtxlator & JQ Utility
Configuration Update Workflow & Introduction to tools
Configtxlator Tool
Basic use of JQ Utility
Setting up the Network Configuration and Policies
Network initialization and configuration updates
Recipe: Inspecting the latest channel configuration
Introduction to Policies - Rules & Principals
Policy changes from Release 1.1 to 1.2
Policy Hierarchies, Naming and Types
Policies encode in genesis block + JSON utility
Signature Type Policies
Exercise: Manually create the Airline Channel with different identities
Implicit Meta Type Policies
Exercise: Set up the Application | Channel Group Policies
Resource Level Access Control Lists
Resource level Access Control
Exercise: Execute the peer chaincode list commands with different identities
Recipe: Restricting Access to Chaincode Info
Fabric Certification Authority
Hypeledger Fabric Identity Management
Hyperledger Fabric Certification Authority
Exercise: Explore the CA Server
Configuring and Launching the CA Server
Recipe: Setup Root Certification Authority
Fabric CA Client
Exercise-Explore the CA Client Setup
Attribute Based Access Control (ABAC) & Identity Commands
Exercise-Managing user identities
Identity Management Rules
Fabric CA Client YAML Configuration
Multi Org Setup with Root Certification Authority
Case Study Status & Test Environment Setup
Fabric CA Server Setup, Roles & Identities
Exercise-Setup CA Server
Register & Enroll Organization Identities
Exercise-Setup Organization Admins
Local MSP setup for Identities & Organizations
Exercise-setup MSP for User Identity
Recipe-Setup Organization MSP
Orderer Setup Tasks
Exercise-setup the Orderer
Peer and Channel Setup Tasks
Exercise-Setup Airline Channel
Recipe-Setup Anchor Peer
Recipe-Setup Regular Peer
Updating the Network Configuration
Configuration update tasks - Part 1
Configuration update tasks - Part 2
Recipe-Updating the Channel Configuration
Recipe-Add a new member org
Exercise-Add a budget Peer
Fabric setup on the Cloud
Revisit Acme Case Study
Pre-requisites for the cloud setup
Cloud setup overview and approach
Crypto setup (Part 1)
Setup cloud VM and configuration files (Part 2)
Orderer Setup (Part 3)
Anchor Peers Setup
Testing strategy & approach for the cloud setup
Exercise-Setup Budget Peer
Â
Â