Learn to develop Network Applications on Hyperledger Fabric & Composer Technology
4.4 (1,980 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
8,779 students enrolled
Last updated 4/2019
English, Portuguese [Auto-generated]
Current price: $12.99 Original price: $39.99 Discount: 68% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
- 8.5 hours on-demand video
- 16 articles
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Training 5 or more people?
Get your team access to 4,000+ top Udemy courses anytime, anywhere.
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)
- Basic working knowledge of Web Applications (HTTP, REST)
- Student must be comfortable in learning new design patterns & an architectural paradigm
- Basic knowledge of concepts of Blockchain
- A decent computer & internet connection
- Good to have : Docker, Unix commands, NodeJS
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.
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 🙂
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
Network support | operation
Smart contract management
Control on how transactions are validated
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.
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.
#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
#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]
Who this course is for:
- Technologist seeking to expand their knowledge into Blockchain
- Architects looking to leverage Distributed Ledger Technology for addressing Business Problems | Opportunities
- Developers interested in learning Blockchain application development
- Developers willing to learn Blockchain by doing, that is by coding
- Experimenters curious to learn how Blockchain technology can change the way we do business
- Entrepreneurs with technology background interested in realizing their business idea on the Blockchain
György Beszedics ( 246 courses, 100 reviews )
a year ago
The course was way above expectation. A Great Introduction to Blockchain development with Fabric and Composer. Arguably not suitable for people who just started programming. Setting up the development environment is a real challenge on its own, but the Q & A resources of the course and the quick responses of the instructor can help to make it as easy as possible.
Expand all 89 lectures 08:41:23
+ – Introduction
4 lectures 20:39
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)
- What is Distributed Ledger Technology
- How DLT benefits the businesses
- Typical realization challenges associated with DLT
Hyperledger & Distributed Ledger Technology
+ – Hyperledger Fabric & Composer Concepts
5 lectures 26:32
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.
Quiz will check student’s understanding of the characteristics of “DLT for Business”
Covers the Hyperledger Fabric concept of:
Checks student’s understanding of the relationship between assets, chaincode and transactions
Permissioned Network, Members & Membership Service Provider
Permissioned Network, Member & Membership Services
In this lecture students will learn
- the role of a node in Blockchain technologies.
- how Hypreledger fabric nodes are different from the nodes in a public Blockchain network
- different types of nodes in HL Fabric
- what is channel & how it is used
Check student’s understanding of concept of Hyperledger Fabric Nodes and Channels
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:
- understand the benefits of using composer
- tools offered by composer
This quiz will check student’s understanding of the Hyperledger Composer tool set.
+ – Pre-Requisites for Fabric development
5 lectures 18:58
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:
- Minimal configuration for the development machine
- Machine/Configuration used for the development of the course material
- Integrated Development Environment – Visual Studio Code
Walk through of instructions for the installation of the:
- Pre-Requisites for the composer tools
- Composer Tools
- Yo Generator
- REST Server
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.
+ – Virtual Machine: Hyperledger Fabric Dev Environment Setup
7 lectures 31:13
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
- their host machine
- or in a virtual machine
Explains how the setup will work
In this lecture students will learn how to :
- Install VirtualBox Hypervisor
- Install Vagrant
- Execute the common Vagrant command
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:
- Pulling the Docker images for fabric
- Creating the PeerAdminCard
- Validating composer tool
- Connecting from Docker client on host with Docker Daemon on VM
+ – Native: Hyperledger Fabric Dev Environment Setup
6 lectures 33:43
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:
- Install the Fabric tools
- Address known/common problems
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.
+ – Dev Environment Setup overview & Tools usage
3 lectures 10:39
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:
- Launching the dev environment
- Stopping the dev environment
- Suspending & Restarting the dev environment
This exercise will familiarize the students with various dev tool scripts.
+ – Fabric Under the Hood (Concepts & Terminology)
8 lectures 42:00
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
Checks student’s understanding of the Ledger implementation
In this lecture students will learn 2 new concepts:
- Anchor Peers
- Endorsing Peers or Endorsers
Consensus is achieved in Hyperledger fabric DLT by way of the endorsements, so it is important for students to understand how it works.
Tests the student’s understanding of the concept of Endorsers and Anchor peers
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.
Client Peer & Endorsing Policies
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.
A set of questions that students can use for checking their understanding of the Orderer nodes
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:
- Certiciation authorities
- Membership service providers
Membership Service Provider & Certification Authority
Walk through of the setup of the containers for the
- CA Server
Provide a high level view of the chaincode:
- Execution Runtime
Checks student’s understanding of the chaincode development
+ – Using Composer Tools for Application Development & Administration
11 lectures 01:09:49
This article contains answers to some Frequently Asked Questions
In this lecture students will get a walkthrough of the online Composer Playground.
Checks student’s understanding of the Playground
To assist the developers with coding of Business Network Applications, Composer offers a generator that can generate the scaffolding for
- Angular application
- Business Network Application
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.
Checks students understanding of the 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.
Composer CLI Tool
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.
Checks students understanding of the REST server tool
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.
It is important for the students to understand the security implications of the REST server. This lecture will check students understanding of the security implications of the REST server
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
Checks if student understands the:
* Suggested architecture
* How to use the Angular based skeleton app
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.
Tests students understanding of the SDK modules
+ – Business Network Application Modelling
17 lectures 01:54:24
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
Checks student’s understanding of “what is composer modeling language” and the structure of the model files
Lecture covers the following modelling language keywords:
- Identified By
Checks students understanding of the concept of Resources
Lecture describes the support for object orientation & covers the following modelling language keywords:
Tests student’s understanding of why modelling language is considered objet oriented.
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:
- How the asset data is persisted in registries
- Concept of Relationship
Checks on student’s understanding of the arrays, registries and relationship
Modeling language allows simple validations to be associated with the String & Number fields. Lecture teaches how to setup such field level validations
Tests student’s understanding of the 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
Checks students understanding of modelling of the transactions
Exercise to be done by students
There are two types of queries that are supported by Composer
- Named queries
- Dynamic queries
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.
+ – Composer SDK / API : Coding the Client Apps
9 lectures 01:06:03
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.
Card Storage API
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.
Admin & Business Network Connection Class
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.
Checks student’s understanding of the client side query API
Lecture describes the mechanisms for subscribing to the events emitted by business network applications. Students will see the event subscription code in action:
- Client API
- Composer REST Server
Checks students understanding of the events subscription mechanism
Coding Exercise that will require student to use the various API(s) discussed in the lectures.