What you’ll learn

  • Develop Hyperledger Blockchain Applications using Composer Framework
  • Model the Blockchain Applications using Composer modeling language
  • Evaluate if a business application will benefit by adoption of Distributed Ledger Technology
  • Develop front end (Client) applications using Composer API
  • Leverage Composer REST Server to design a web based Blockchain solution
  • Describe the various components of Hyperledger Fabric Technology (Peers, Orderer, MSP, CA …)
  • Design Hyperledger Fabric Composer Business Network Application (NOT the infrastructure)

 

“Introduction

  • Introduction to the Course 
  • What is Hyperledger? 
  • Distributed Ledger Technology & its Challenges 
  • Hyperledger & Distributed Ledger Technology

 

“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

 

“Virtual Machine: Hyperledger Fabric Dev Environment Setup

  • Native Vs. Virtual Machine Development Environment 
  • Virtual Machine based Hyperledger Dev Setup 
  • Setting up the Virtual Machine using VirtualBox+Vagrant 
  • Installation of Fabric Tools 
  • Post Installation Steps 

 

“Native: Hyperledger Fabric Dev Environment Setup

  • Install CURL and Cygwin (Windows only) 
  • 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 

 

“Dev Environment Setup overview & Tools usage

  • Development Environment Topology 
  • Development Environment Scripts

 

“Fabric Under the Hood (Concepts & Terminology)

  • Ledger Implementation 
  • Dev Environment Walkthrough: Peer & CouchDB setup 
  • Ledger Implementation 
  • 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 

 

“Using Composer Tools for Application Development & Administration

  • Fabric Composer Playground 
  • Yeoman Hyperledger Generators 
  • Participant Roles and Business Network Cards 
  • Composer CLI Tool – Deploying a Network Application 
  • Composer CLI Tool – Network Application Management 
  • Composer CLI Tool
  • REST Server Overview 
  • REST Server Security 
  • Skeleton Angular Application using Yo 
  • Composer SDKOverview 

 

“Business Network Application Modelling

  • Case Study: ACME Airlines 
  • Modeling Language Files | Namespace 
  • Defining the Resources 
  • Support for Object Orientation 
  • Modeling Arrays 
  • Registries & Relationship between Resources 
  • Arrays, Registries & Relationships 
  • Adding the field Validations 
  • Field validations 
  • Resource Registries & Identities +Exercise 
  • Modeling the Transactions 
  • Managing identities for Network Applications 
  • Access Control Language (Part 2 of 2) Conditional Rules 

 

“Composer SDK / API : Coding the Client Apps

  • API : Frequently Asked Questions | Common Issues 
  • Business Network Card Management 
  • Card Storage API
  • Admin Connection Class 
  • Business Network Connection Class 
  • Admin & Business Network Connection Class
  • Submitting a Transaction 
  • Registries 
  • Resources 
  • Querying the Registries 
  • Subscribing to Events 
  • Write a utility to create | delete test data for ACME Airline Model 

 

+Composer SDK / API : Coding the Transaction Processors

  • Embedded Runtime for Testing 
  • Embedded Runtime 
  • Crash course in Mocha and Chai 
  • Writing Unit Test Cases for Network Applications 
  • Runtime API for Transaction Processing Functions 
  • Implementing Programmatic Access Control 
  • Emitting events and Integrating with external systems 

 

+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 
  • REST Server Authentication 
  • Working of Multi User Enabled REST Server 
  • Walkthrough – REST Server Multi User mode 
  • REST Server Multi User Setup
  • Create the Design Blueprint for the Fabric Application UI 

 

+ACME Airline Rewards Initiative

  • Model Development: ACME Airline Rewards Application