
Introduction to the course.
This lecture has information about the course + a list of updates. Students are suggested to check this article often.
The term "Hyperledger" is used in different contexts......this causes confusion. In this lecture students will learn about Hyperledger project and its relationship with multiple Hyperledger "Distributed Ledger Technology" initiatives.
At the end of this lecture, students should be able to explain (conceptually)
Students will learn about 4 characteristics desired in a DLT technology geared towards adoption by businesses. By end of this lecture students will have a high level understanding of why Hyperledger Fabric is suitable for building DLT Business applications.
Covers the Hyperledger Fabric concept of:
In this lecture students will learn
Composer Framework provides a set of tools that make it easy for businesses to create Hyperledger Fabric applications. By the end of this lecture students will:
Lecture covers the common installation issues.
Students will need a decent development machine for installing the tools used in this course. They are also expected to code Hyperledger Fabric Applications. This lecture provides information on:
Walk through of instructions for the installation of the:
This exercise is to ensure that the Student's development machine has all the required composer tools installed on their machine.
The Fabric Runtime is available as Docker container images. Students MUST install appropriate version of Docker on their machine before proceeding any further.
Covers some of the common issues with Vagrant based setup.
Students can install Hyperledger dev environment natively or in a virtual machine. This lecture will help the student evaluate the options and make a decision on whether to install Hyperledger on
Explains how the setup will work
In this lecture students will learn how to :
In this exercise students will try out some commands to become comfortable with Vagrant
Shows the steps students need to follow for the installation of the Hyperledger Tools on VM
Shows the steps students need to carry out for:
Lecture covers the common installation issues.
To install the Fabric tools on Windows/Mac OS Students will need to install the Curl tool on their development machines. This lecture will provide a walk through of instructions for installing Curl.
The Fabric tools use Bash scripts for starting/stopping the Fabric setup. On windows platform there is no in built support for executing the Bash scripts. Students will use the instructions in this lecture to install Cygwin that would provide the capability of executing Bash scripts on Windows machines
Students may use the Hyperledger Fabric Tools on Ubuntu. This lectures demonstrates the steps needed for installation of the Fabric tools on Amazon AWS Ubuntu/EC2 instance.
This lecture will demonstrate the steps that students need to take in order for setting up the fabric development environment on Mac OS.
By end of this lecture it is expected that students will be comfortable in setting up the development environment on their own Mac OS Machine
Walk through of the steps needed for installing Fabric Development environment on a Windows machine.
Using the instructions student should be able to:
In the last section(s) you student's installed a number of tools on their development machines. In this lecture students will get an overview of how the those tools will be used in the rest of this course.
In the last section I have given instructions for setting up the Fabric development environment. It is expected that students have used the instructions to setup their own machines. This lecture gives an overview of the Development environment topology that will be used in the rest of this course.
In this lecture students will learn about the scripts that they will use for:
This exercise will familiarize the students with various dev tool scripts.
In this lecture students will learn how HL Fabric manages the persistence of transactions and state data for the assets.
This lecture provides the walk through of the Peer and CouchDB setup
In this lecture students will learn 2 new concepts:
Consensus is achieved in Hyperledger fabric DLT by way of the endorsements, so it is important for students to understand how it works.
Clients may be thought of as the front end applications with which participants interact. Client nodes initiate the transactions. The transaction initiated by the client goes through an endorsement process before it becomes part of the Blockchain data.
In this lecture students will get an overview of how the endorsement process work.
Orderer provides the communication backbone to the Hyperledger Fabric Blckchain. On this lecture students will learn about the role of the orderer and its implementation.
Hyperledger Fabric is a Permissioned DLT. Membership Service Provider is an abstract component that is responsible for providing the authentication and authorization service. In this lecture students will learn about the:
Walk through of the setup of the containers for the
Provide a high level view of the chaincode:
This article contains answers to some Frequently Asked Questions
In this lecture students will get a walkthrough of the online Composer Playground.
To assist the developers with coding of Business Network Applications, Composer offers a generator that can generate the scaffolding for
Composer tools and front end applications need access to the Business Network Application installed in the Fabric runtime. The configuration and credentials (certificate & keys) are managed by way of cards. In this lecture students will learn about participant roles and network cards.
Students will be using the Composer Command Line Interface tools for carrying out various development and network application development activities. In this lecture students will learn some of the common commands
This lecture demonstrates the use of the composer CLI command line tool for managing a business network application. Students will see the commands for administration in action as part of the walkthrough.
This is a practice exercise to ensure that student is able to use the composer tool commands to carry out development and administration activities.
In this lecture students will learn about the composer rest server tool. REST server front ends the Fabric Runtime to expose the various transactions. Front end or UI application connects to the REST server for invoking the transactions.
In the last students learned about the Composer REST server tool. In this lecture students will learn about certain aspects of REST server that may not be well suited for the application being developed.
Developers of fabric composer toolset suggest an architecture that uses the REST server for connecting to the Business Network Application. This lecture describes the architecture and then walks through the process of generating an Angular skeleton application
In this lecture students will learn about the various modules available in the composer SDK. They will also learn about the type of interfaces that are available. Intent is not to deep dive but give an idea.
This lecture talks about a fictitious airlines that will be used as a case study throughout this section to model a Business Network Application
In this lecture students will learn about the modeling language. Lecture will provide a walk through of how model application is created using the yo hyperledger composer generator. Lecture will cover the concept of Namespaces
Lecture covers the following modelling language keywords:
Lecture describes the support for object orientation & covers the following modelling language keywords:
Modeling language supports arrays. In this lecture, students will learn how to model arrays.
At the end of this lectures students will be able to explain:
Modeling language allows simple validations to be associated with the String & Number fields. Lecture teaches how to setup such field level validations
The Acme airline model built till now have an issue...this lecture explains the issue and the solution to the issue. At the end of this lecture, students need to implement the suggested solution.
All transactions need to be modeled in composer framework. This lecture explains how how to model, coding of the transaction functions is explained in the section on SDK/API
Exercise to be done by students
There are two types of queries that are supported by Composer
This lecture covers the named queries.
This is an exercise that student are expected to do on their own.
In an earlier lecture students learned how the participant types (roles) are defined as part of the business model. In this lecture students will learn how instances of Participant types are associated with the identities created on Fabric.
Access control can be implemented in Composer framework in 2 ways:
This lecture explains how the declarative control works for simple rules.
An exercise for creating a simple rule.
In the last lecture students learned about the Access Control Language and how it is used for creating simple rules. In this lecture students will learn about Complex rules.
Exercise requires students to define a complex rule.
Describes the issues and resolution for some of the common issues
In one of the previous lectures students learned about the Cards. In this lecture students will learn the API that can be used for managing the cards.
Admin connection API is used for establishing a administration connection to the Fabric. Functions available on Admin Connection object are used for managing the Business Network Application. In this lecture student will learn all of the functions available on Admin connection object.
Client applications connect to the Fabric/BNA by creating the Business Network Connection object. Functions exposed by the business connection is used for multiple types of interactions. In this lecture students will learn how to create an instance of the business network connection and use it for connecting to the BNA. The functions exposed by this business network connection are available in multiple lectures covered in this section.
Students will learn all the Classes needed for submitting a transaction to the Business Network Application.
Registries have been covered in details in earlier lectures. In this lectures students will learn about the Registry related classes/API.
This lecture covers the Resource Class & how instances of Resource class are created using factory class.
In this lecture students will learn how to execute Named queries and Dynamic queries from a client side Blockchain application.
Lecture describes the mechanisms for subscribing to the events emitted by business network applications. Students will see the event subscription code in action:
PS: Please READ all the points before proceeding
***Composer - DEPRECATED - it is NO more supported for Fabric updates***
But it is still a GREAT way to learn Fabric Blockchain fundamentals & for carrying out POC. For production grade apps It is suggested that you take a look at my course "Mastering Chaincode Development using GoLang ...."
Please do NOT join the course if you are NOT comfortable with coding
Focus of the course is Composer based application development. Course will NOT teach you how to use ALL the various utilities/tools for hypereldger infrastructure component setup.
Course is NOT for Operators or Infrastructure engineers *but* you are welcome to try as it would help you in building a strong foundational knowledge. Take a look at my other Fabric courses if you are an Operations person.
You MUST have a basic understanding of Blockchain technology. Do take a preview before joining.
This course will NOT teach you Javascript or any Javascript framework to develop UI
You MUST be comfortable in installing software & tools on your machine. Course requires many tools to be installed.
Please read the Pre-Requisites before signing up
Try out the lectures in preview - if you have difficulty understanding the lectures/accent....I request you NOT to join
If you are still with me lets continue :-)
Background
Demand for Blockchain technologists is going up as multiple enterprises (& startups) are looking to achieve efficiency or/and create new business models enabled by the Blockchain technologies. Bitcoin & Ethereum have proven to the world that Blockchain technologies can change the way we do business. The challenge with these technologies is that they were both built ground up for public domain applications and are not always suitable for building an enterprise grade application. Hyperldger project, a Linux foundation initiative is driven by the industry leaders to build Blockchain technology(s) that would provide a platform for creating Enterprise Blockchain Applications.
Business | Enterprise Blockchain Applications
The obvious question you may have at this point is, what do I mean by "Enterprise Blockchain Applications". The idea is that Blockchain technology for Business (or enterprise) would need to have certain characteristics that do not necessarily apply to the public domain Blockchain technology such as Ethereum. Characteristics that are desired
Permissioning,
Network support | operation
Smart contract management
Control on how transactions are validated
Trust management
Scaling, Performance, Throughput
...
Hyperledger Fabric | Composer Framework
Hyperledger Fabric is a "Distributed Ledger Technology" a.k.a. Blockchain technology that has been built ground up with the needs of the "Business Blockchain Applications" in mind. Composer is a development framework that accelerates the development of Business Blockchain applications of Fabric platform.
This course will teach you how to develop Fabtric Blockchain Application using Composer.
Course Approach?
This course takes the approach of “Learn by doing”. Students are encouraged to try out all aspects of the technologies on their own after each lecture. Almost all of the concepts discussed in the lectures are shown in action by way code samples etc. The demo code used in the lectures is available for download from GitHub so that students can change the code to try out new things.
Multiple quizzes in each section will validate student’s knowledge. Coding exercises will help them understand the concepts better & gain confidence.
Course Outline
#1 Build a foundation - covers Blockchain concepts + Hyperledger project-fabric-composer
#2 Introduction to Hyperledger Fabric & Composer Technology
#3 Setting up the development tools - (Docker, NodeJS, Fabric, Composer tools ...)
#4 Fabric under the hood - student will learn how the Fabric technology works
#5 Learn to use the Composer tools (Modeling, Yo generators, REST Server, CLI, Playground ...)
#6 ACME Airline Blockchain Application : We will develop a Network application for this fictitious Airline
Business network modelling
Smart contracts development
Transaction processors - coding in Javascript
Client side code - in Javascript
Participant management
#7 Composer SDK/API
#8 Transaction flow in Fabric - unravel some of the mysteries :)
How can this course help you?
Many enterprises today are embarking on building Blockhain applications for their business domain. At this time the focus is on trying out the technologies by way of Proof of Concepts | Pilots. This course can put you on track to build the pilots/PoC in a very short period of time (~3 weeks)
Information of Hyperledger frabric (& Composer) is available online and freely.....so why take this course?
There are known challenges : The author of this course have gone through the development cycle many times and have taken care of describing the known challenges (& pitfalls) and solutions so, students won't struggle....& spend time on learning rather than searching for solutions on google :)
Learning curve is steep : Although information is available it would take new students considerable amount of time to digest & understand. The course has been designed to accelerate the learning process without overwhelming the students with too many details.
Coding guides | experience is limited : For every topic discussed in the course, there is a sample code. Seeing things in action and trying out the code will accelerate the learning
Time to market : Taking this course will prepare the student for the challenge - delivery of a working Fabric PoC/Pilot in 3 weeks is the goal :) [Assuming student spends 2 Hour/Day]