Mastering Hyperledger Chaincode Development using GoLang
What you’ll learn
Chaincode development using GoLang
Application Development using Fabric Node SDK
Use of Private Data
Use of Instantiation & Endorsement policies
Building support for Rich Queries & Asset History
Building Programmatic access control with “Client Identity Library”
Testing tools for Chaincode such as Golang Testing framework & MockStub
Requirements
Basic understanding of Hyperledger Fabric | Distributed Ledger Technology
Basic knowledge of GoLang (no need to be an expert)
Have some idea of Docker (but open to refer to documentation)
OK with using the Linux terminal | shell scripts
Comfortable with installation of softwares on machines
Node JS is good to have as course also covers the Fabric SDK for Node
A PC or Mac with decent Internet connection
Description
NOTE: April 2020 – Course updated to Fabric 2.1Developers face many challenges when it comes to developing Hyperledger Fabric Chaincode.Lack of documentation from developer’s perspectiveNeed to setup the Fabric development environmentNon-availability of development tools | standard practicesNo comprehensive guide on how to productively develop chaincodeThis course is my attempt to address all of these challenges. E.g., Student do not need to spend time on setting up dev environment from scratch – course provides “One Click Launch”E.g., Course provides development utilities that will help developers to focus on learning to codeE.g., Shows step by step how to leverage various Fabric concepts to build working chaincodeE.g., Working chaincode for ALL concepts covered in the courseE.g., Commands to be used for development purposes (wrapped in utility scripts as part of the course)Utility ScriptsUtility scripts are provided to achieve developer productivity; long commands on command line are difficult to follow & typeStudents may need to go through some of the utility scripts on their ownPLEASE DO NOT JOIN THE COURSE if you do not like to use productivity/development scripts and rather type long command on the terminal prompt :-)PS: This is a Hands on course. Please do NOT join if you do not have experience in codingTake a preview of the lectures. Please do NOT join if you do not understand my accent or lecture pace :-)Course Highlights:Ready to use development environment setup with multiple configurations (project repository available for download)Hyperledger Explorer setup that may be launched by students to get a graphical view of the networkProvides easy to use tools/scripts so that developers can focus on learning Chaincode developmentSections start by going over the concepts. Walk through lectures show the concepts in action with REAL codeEvery section requires the student to do coding (exercises)ALL sections | ALMOST all lectures requires the student to do Hands On activitiesCourse Layout:Setup the development environmentBasics of Fabric platform from development perspectiveStructure of the GoLang ChaincodeUnit | Integration testing of chaincodeDesigning for Private Data | TransactionsSetting up the Endorsement Policies Querying with Rich Query Functions (using CouchDB)Accessing the Asset HistoryImplementing Access | Authorization control using “Client Identity Library”Building Applications using Fabric Node SDKWhat is NOT covered in this course?Basics of Hyperledger FabricFabric Binaries details such as peer, orderer, configtxgen, cryptogen …Fabric certification authority (course mostly uses cryptogen generated crypto)Design & Setup of Multi Org SetupALL of the above have been covered in my other courses. Please check them out.
Overview
Section 1: Introduction
Lecture 1 Introduction
Lecture 2 Project Repository Download link + Secret
Section 2: Hyperledger Fabric 2.x Update
Lecture 3 Fabric 2.x Section | Lecture updates
Lecture 4 Hyperledger Fabric 2.x Chaincode Updates (What’s new?)
Section 3: Development Environment Setup
Lecture 5 Dev Machine Requirements & IDE Setup
Lecture 6 Crash course on Virtualization (Vagrant & VirtualBox)
Lecture 7 Download Project Repo & Setup the Dev VM
Lecture 8 Dev Environment Overview & Setup options
Lecture 9 Virtual Box Express Install
Lecture 10 Standard VM Install (1 of 2)
Lecture 11 Standard VM Install (2 of 2)
Section 4: Lets get our hands dirty
Lecture 12 Distributed Ledgers, Transactions, Chaincode & Shim
Lecture 13 Using the Dev Environment utilities
Lecture 14 Hands On: Utility scripts for managing development environment
Lecture 15 Exercise: Using the “dev-” scripts
Lecture 16 Hands On: Setting the environment & executing peer commands
Lecture 17 Hands On: Working with Hyperledger Explorer Tool
Lecture 18 Hands On: Chaincode execution utility
Section 5: Fabric 2.x Chaincode Lifecycle
Lecture 19 Lifecycle- Chaincode Packaging & Installation
Lecture 20 Exercise- Chaincode Packaging & Installation
Lecture 21 Lifecycle – Chaincode Approval & Commitment
Lecture 22 Exercise – Chaincode Approval & Commitment
Lecture 23 Lifecycle – Chaincode Invoke & Query
Lecture 24 Exercise – Chaincode Invoke & Query
Lecture 25 Lifecycle – Chaincode Upgrade
Lecture 26 Exercise – Chaincode Upgrade
Lecture 27 Chaincode Net versus Dev Mode
Section 6: Go Chaincode Interface
Lecture 28 Chaincode Interface implementation & working
Lecture 29 Logging from Chaincode
Lecture 30 Hands On: Chaincode Install | Commit | Logging Walkthrough
Lecture 31 Hands On: Chaincode Interface
Lecture 32 Sending the Success & Error Response
Section 7: Go Chaincode Stub
Lecture 33 Introduction to ChaincodeStub
Lecture 34 Extracting Proposal Information
Lecture 35 Hands On: Using functions for accessing Proposal elements
Lecture 36 Passing Arguments & Invoke Function Implementation
Lecture 37 Hands On: Using Arguments function
Lecture 38 Chaincode State Management
Lecture 39 Hands On: Chaincode State Functions GetState, PutState & DelState
Lecture 40 Exercise: Add the “delete” function to V5 Token implementation
Lecture 41 Invoking Chaincode from another Chaincode
Lecture 42 Hands On: InvokeChaincode function
Lecture 43 Fabric Events & Subscriptions
Lecture 44 Hands On: Event function usage
Section 8: Writing Unit Test Cases for Network Applications
Lecture 45 Fabric Chaincode Testing
Lecture 46 GoLang Testing Framework
Lecture 47 Hands On: Testing the Chaincode using GoLang Test Framework
Lecture 48 Chaincode unit testing with MockStub
Lecture 49 Hands On: Use the MockStub for Testing
Lecture 50 Writing Unit Tests Scripts (Utility)
Lecture 51 Hands On: Unit Testing Scripts
Section 9: Mini Project: Develop the ERC20 Token on Fabric
Lecture 52 ICO & Tokens
Lecture 53 Exercise: Requirement for this project
Lecture 54 Hands-on: Solution walkthrough
Lecture 55 Exercise: Test out the “transfer” events
Section 10: Transaction Flow & Chaincode Endorsement Policies
Lecture 56 Transaction Flow in Fabric
Lecture 57 Consortiums and Trust Authorities
Lecture 58 Endorsement Policies & Expressions
Lecture 59 Chaincode Lifecycle EP in Dev Setup
Lecture 60 Hands On: Chaincode Endorsement Policies
Lecture 61 Exercise: Chaincode Endorsement Policy Expressions
Section 11: Transaction and Data confidentiality
Lecture 62 Transaction & Data Confidentiality
Lecture 63 Private Data Collections
Lecture 64 Flow of Transactions involving Private Data
Lecture 65 Private Data Collection Definition (1 of 2)
Lecture 66 Private Data Collection Definition (2 of 2)
Lecture 67 Hands-On: Setting up the PDC Definition in JSON file
Lecture 68 Hands-On: Private Data Collection in action
Lecture 69 Exercise: Update the PDC Definition
Lecture 70 Chaincode Stub API for Private Data Collections
Lecture 71 Hands-On: Using the PDC Stub API
Lecture 72 Exercise: Extend the PDC Sample Code
Section 12: Executing Range Queries against the State Data
Lecture 73 Querying State Data by Range
Lecture 74 Stub functions for Range Queries
Lecture 75 Hands-on: Get State By Range
Lecture 76 Working with Pagination
Lecture 77 Stub function for Range Query with pagination
Lecture 78 Exercise: Extend for pagination
Lecture 79 Overview of Composite Keys & usage
Lecture 80 Stub functions related to Composite Keys
Lecture 81 Hands-on: Using the Composite Key functions
Section 13: Rich Queries in Fabric
Lecture 82 Understanding the Rich Queries
Lecture 83 Hands-on: Setting the stage for Rich Queries
Lecture 84 Mango Query Language Selectors
Lecture 85 Query Result Fields Skip & Limit
Lecture 86 Stub functions for Rich queries
Lecture 87 Hands-on: Using the Rich query functions
Lecture 88 Exercise: Create Aggregation Function
Lecture 89 Using the CouchDB Indexes
Lecture 90 Hands-on: Working with indexes
Lecture 91 Sorting and indexes
Lecture 92 Exercise: Add a Report Function to sample
Section 14: Getting the history of assets in chaincode
Lecture 93 Managing asset history
Lecture 94 Stub functions & interface for History
Lecture 95 Hands-on: Using the History API
Section 15: Programmatic Access Control: Client Identity Library
Lecture 96 Chaincode Access & Authorization
Lecture 97 Client Identity Library Function Overview
Lecture 98 Hands-On: Test Chaincode Setup with Client Identity
Lecture 99 Hands On: With Client Identity Functions
Lecture 100 Exercise – Trade Approval Chaincode
Section 16: Fabric Node SDK – Application Development
Lecture 101 Fabric Front End Application Patterns
Lecture 102 Fabric Node SDK + Sample code setup
Lecture 103 Approach: Usage Based Learning
Lecture 104 Fabric Network Module (fabric-network)
Lecture 105 Hands-On: Develop a Wallet Utility
Lecture 106 Setting up the Gateway class instance
Lecture 107 Using the Network, Contract & Transaction classes
Lecture 108 Hands On: Use the fabric-network classes for Invoking & Querying ERC20 chaincode
Lecture 109 Exercise : Extend the sample code to submit transaction
Lecture 110 fabric-client : Client class overview
Lecture 111 Hands-On: Client class & Credential Store setup utility
Lecture 112 Using the Peer classe
Lecture 113 Hands-On: Executing Peer Queries
Lecture 114 Overview & Usage of Channel class
Lecture 115 Hands On: Executing channel aware functions to get chain info
Lecture 116 Designing Application for events using ChannelEventHub class
Lecture 117 Hands On: Coding the Block & Chaincode event Handler
Lecture 118 Exercise: Challenge Problem
Hyperledger Fabric Architects | Developers |Operators,Tinkerers and Experimenters interested in gaining Hands-On knowledge of Enterprise grade DLT platform,Blockchain Enthusiast
Course Information:
Udemy | English | 10h 5m | 1.97 GB
Created by: Rajeev Sakhuja
You Can See More Courses in the Developer >> Greetings from CourseDown.com