Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Mastering Hyperledger Fabric Chaincode Development using GoLang
Introduction
Tips and Course Layout (3:06)
Project Repository Download Link + Secret
Hyperledger Fabric 2.x Update
Fabric 2.x Section | Lecture updates (3:27)
Hyperledger Fabric 2.x Chaincode Updates (What's new?) (11:00)
Development Environment Setup
Dev Machine Requirements & IDE Setup (2:34)
Crash course on Virtualization (Vagrant & VirtualBox) (3:18)
Download Project Repo & Setup the Dev VM (2:01)
Dev Environment Overview & Setup options (3:35)
Virtual Box Express Install (4:16)
Standard VM Install (1 of 2) (5:28)
Standard VM Install (2 of 2) (2:12)
Lets get our hands dirty
Distributed Ledgers, Transactions, Chaincode & Shim (6:46)
Quiz: Fabric Chaincode Concepts
Using the Dev Environment utilities (5:57)
Hands On: Utility scripts for managing development environment (5:33)
Exercise: Using the "dev-" scripts
Hands On: Setting the environment & executing peer commands (7:43)
Hands On: Working with Hyperledger Explorer Tool (4:21)
Hands On: Chaincode execution utility (8:58)
Fabric 2.x Chaincode Lifecycle
Lifecycle- Chaincode Packaging & Installation (8:01)
Exercise- Chaincode Packaging & Installation (7:29)
Lifecycle - Chaincode Approval & Commitment (9:46)
Exercise - Chaincode Approval & Commitment (9:59)
Lifecycle - Chaincode Invoke & Query (1:13)
Exercise - Chaincode Invoke & Query (5:15)
Lifecycle - Chaincode Upgrade (6:36)
Exercise - Chaincode Upgrade (8:46)
Chaincode Net versus Dev Mode (6:18)
Go Chaincode Interface
Chaincode Interface implementation & working (3:36)
Logging from Chaincode (7:20)
Hands On: Chaincode Install | Commit | Logging Walkthrough (7:27)
Hands On: Chaincode Interface (7:08)
Sending the Success & Error Response (4:21)
Quiz: Shim, Responses & Logging
Go Chaincode Stub Interface
Introduction to ChaincodeStubInterface (2:36)
Extracting Proposal Information (4:26)
Hands On: Using functions for accessing Proposal elements (5:48)
Passing Arguments & Invoke Function Implementation (6:24)
Hands On: Using Arguments function (3:36)
Quiz: Transaction proposals & arguments
Chaincode State Management (4:40)
Hands On: Chaincode State Functions GetState, PutState & DelState (6:38)
Quiz: State Data Management
Exercise: Add the "delete" function to V5 Token implementation (4:18)
Invoking Chaincode from another Chaincode (3:39)
Hands On: InvokeChaincode function (5:42)
Quiz: Invoking the Chaincode
Fabric Events & Subscriptions (3:59)
Hands On: Event function usage (4:05)
Quiz: Fabric Chaincode Events
Writing Unit Test Cases for Network Applications
Fabric Chaincode Testing (4:39)
GoLang Testing Framework for unit tests (5:32)
Hands On: Testing the Chaincode using GoLang Test Framework (3:30)
Chaincode unit testing with MockStub (4:16)
Hands On: Use the MockStub for Testing (6:22)
Writing Unit Tests Scripts (Utility) (8:09)
Hands On: Unit Testing Scripts (4:09)
Mini Project: Develop the ERC20 Token on Fabric
ICO and Tokens (2:55)
Exercise: Requirement for this project (3:36)
Hands-on: Solution walkthrough (6:48)
Exercise: Test out the "transfer" events (2:06)
Transaction Flow & Chaincode Endorsement Policies
Transaction Flow in Fabric (6:15)
Quiz: Transaction Flow in Fabric
Consortium and Trust Authorities (3:36)
Endorsement Policies & Expressions (7:08)
Quiz: Endorsement Policies
Chaincode Lifecycle EP in Dev Setup (9:03)
Hands On: Chaincode Endorsement Policies (7:20)
Exercise: Chaincode Endorsement Policy Expressions (2:19)
Transaction and Data confidentiality
Transaction & Data Confidentiality (5:26)
Private Data Collections (4:15)
Quiz: Private Collections
Flow of Transactions involving Private Data (5:06)
Quiz: Endorsement Process & Private Data
Private Data Collection Definition (1 of 2) (8:17)
Private Data Collection Definition (2 of 2) (6:51)
Quiz: Defining Private Data Collections
Hands-On: Setting up the PDC Definition in JSON file (5:19)
Hands-On: Private Data Collection in action (6:44)
Exercise: Update the PDC Definition (5:07)
Chaincode Stub API for Private Data Collections (2:19)
Hands-On: Using the PDC Stub API (2:25)
Exercise: Extend the PDC Sample Code (1:43)
Implicit Private Data Collections (new in 2.x) (3:09)
Hands on: Implicit Private Data Collections (5:12)
Executing Range Queries against the State Data
Querying State Data by Range (4:07)
Stub functions for Range Queries (1:54)
Hands-on: Get State By Range (5:58)
Quiz: Range Queries
Working with Pagination (2:33)
Stub function for Range Query with pagination (3:34)
Exercise: Extend for pagination (4:25)
Overview of Composite Keys & usage (6:03)
Stub functions related to Composite Keys (3:03)
Hands-on: Using the Composite Key functions (6:11)
Rich Queries in Fabric
Understanding the Rich Queries (4:16)
Hands-on: Setting the stage for Rich Queries (10:09)
Mango Query Language Selectors (9:06)
Query Result Fields Skip & Limit (3:00)
Stub functions for Rich queries (3:33)
Hands-on: Using the Rich query functions (7:05)
Exercise: Create Aggregation Function (2:41)
Using the CouchDB Indexes (6:28)
Hands-on: Working with indexes (4:02)
Sorting and Indexes (4:15)
Exercise: Add a Report Function to sample (4:35)
Getting the history of assets in chaincode
Managing asset history (4:20)
Stub functions & interface for History (2:25)
Hands-on: Using the History API (6:49)
Quiz: Asset History
Programmatic Access Control: Client Identity Library
Chaincode Access & Authorization (6:47)
Client Identity Library Function Overview (3:20)
Hands-On: Test Chaincode Setup with Client Identity (7:01)
Hands-On: With Client Identity Functions (6:28)
Exercise - Trade Approval Chaincode (6:32)
Fabric Node SDK - Application Development
Fabric Front End Application Patterns (5:48)
Fabric Node SDK + Sample code setup (6:23)
Approach: Usage Based Learning (2:26)
Fabric Network Module (fabric-network) (6:18)
Hands-On: Develop a Wallet Utility (5:40)
Setting up the Gateway class instance (7:31)
Using the Network, Contract & Transaction classes (5:42)
Hands-On: Use the fabric-network classes for Invoking & Querying ERC20 chaincode (6:26)
Exercise : Extend the sample code to submit transaction (1:49)
fabric-client : Client class overview (5:55)
Hands-On: Client class & Credential Store setup utility (5:50)
Using the Peer Class (4:14)
Hands-On: Executing Peer Queries (3:42)
Overview & Usage of Channel class (4:55)
Hands-On: Executing channel aware functions to get chain info (5:09)
Designing Application for events using ChannelEventHub class (6:46)
Hands-On: Coding the Block & Chaincode event Handler (4:06)
Exercise: Challenge Problem (5:30)
Setting up the Gateway class instance
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock