In this course you learn how to develop blockchain applications in Hyperledger Fabric version 2. This self-paced course will prepare you for Certified Hyperledger Fabric Developer certification exam.
Coding Bootcamps School is an authorized training provider for The Linux Foundation.
Blockchain technology is disrupting many traditional businesses. Blockchain technology has moved beyond the hype and there exist hundreds of networks in production today. Many of the production blockchain solutions in production today are built with Hyperledger Fabric.
From the very beginning, Hyperledger Fabric was designed for enterprise use. Hyperledger Fabric is an enterprise-grade, distributed ledger platform that offers modularity and versatility for a broad set of industry use cases. The modular architecture for Hyperledger Fabric accommodates the diversity of enterprise use cases through plug and play components, such as consensus, privacy and membership services. Hyperledger comes with many projects and tools. The most popular project is Hyperledger Fabric that uses chaincode for writing and deploying Blockchain Smart Contracts.
Behind every great open source technology, sits a strong community. The Hyperledger Fabric community has continuously improved the security, usability, robustness, performance and feature set — all qualities that are of critical importance to enterprise users. To date, there are no other distributed ledger technology frameworks that enjoy the breadth of adoption by Cloud Service Providers such as AWS, Azure, IBM, Google, and Oracle.
Below are some of the key features of Hyperledger Fabric and what differentiates it from other distributed ledger technologies.
- Permissioned architecture
- Highly modular
- Pluggable consensus
- Open smart contract model — flexibility to implement any desired solution model (account model, UTXO model, structured data, unstructured data, etc)
- Low latency of finality/confirmation
- Flexible approach to data privacy : data isolation using ‘channels’, or share private data on a need to-know basis using private data ‘collections’
- Multi-language smart contract support: Go, Java, JavaScript
- Support for EVM and Solidity
- Designed for continuous operations, including rolling upgrades and asymmetric version sup-port
- Governance and versioning of smart contracts
- Flexible endorsement model for achieving consensus across required organizations
- Queryable data (key-based queries and JSON queries)
Learning Objectives
By the end of this self-paced, hands-on, online course, you’ll understand:
- Hyperledger family and ecosystem
- Hyperledger development environment
- Blockchain development with Hyperledger Fabric V2
- Using Hyperledger to write chaincodes or Smart Contracts
- Maintaining and testing smart contracts in Hyperledger Fabric
- Running and testing Hyperledger applications
- Basic understanding of Blockchain Use Cases in business
And you’ll be able to:
- Build Decentralized Applications with Hyperledger Fabric
- Build and deploy chaincode in Hyperledger Fabric
- Run Unit Test on Hyperledger Fabric applications
- Update Hyperledger Smart Contracts
This training is for you because...
- You know about Blockchain technology and want to learn about Hyperledger by writing chaincode
- You want to become a subject matter expert in Hyperledger and/or Smart Contracts.
- You work in a field where Blockchain offers opportunities and Hyperledger has business potential.
- You want to build your own Hyperledger Blockchain application
- You are an aspiring blockchain developer that would like to validate your knowledge with the industry-leading blockchain platform like Hyperleder
- You like to take Certified Hyperledger Fabric Developer certification exam.
Topics and Subtopics
Here is the list of topics and subtopics covered in this course.
1- Overview of Blockchain Technology
- Introduction to Blockchain
- What is Blockchain
- Types of network
- Public network
- Permissioned network
- Private network
- Blockchain Components
- Consensus
- Provenance
- Immutability
- Finality
- Blockchain Use Cases
- Blockchain Examples
2- Anatomy of Blockchain
- How Blockchain Works
- Blockchain Structure
- Block
- Hash
- Blockchain
- Distributed
- Blockchain Lifecycle
- Smart Contract
- Consensus Algorithm
- Proof of Work
- Proof of Stake
- Practical Byzantine
- Fault Tolerance
- Players in Blockchain
- Developers
- System administrators
- Regulators
- End users
- Membership service provider
- Blockchain in Action
3- Hyperledger Blockchain Ecosystem
In this section, we review Hyperledger ecosystem and projects for building blockchain applications. This section describes the organization of the Hyperledger Foundation, its history, and leadership. In addition, we provide an introduction to the open source projects in the portfolio.
- An introduction to the Hyperledger family begins with a description of the foundation, organization, and leadership. We then describe each project in the foundation which are divided into groups: Distributed Ledgers, Libraries, Tools, and Domain-Specific projects..
- The framework projects describe: Besu, Burrow, Fabric, Indy, IROHA, and Sawtooth.
- The Libraries projects describe: Aries, Quilt, Transact, and Ursa
- The Tools projects describe: Avalon, Caliper, Cello, and Explorer
- The Domain-Specific projects describe: Grid
- Building the Hyperledger framework layers describes the structure of the projects and how they are intended to complement, leverage, and work together.
- The Hyperledger design philosophy at a glance is a brief discussion on the general design approach and methodology used to select and develop projects within the ecosystem.
- Framework architecture overview describes at a high-level the layers and components required for implementing blockchain technology.
- The consensus layer describes and covers the various algorithms used to implement consensus within a blockchain. Fabric and Sawtooth will be used as examples.
- Smart contracts are programs used to execute the specific application logic for a blockchain. We will describe the different designs and methods for implementing smart contracts in Hyperledger comparing Fabric with Sawtooth.
- Databases are used for the immutable ledger and for storing state data. We will describe the different options available for Fabric.
- Peer networking is a primary component of any blockchain, so we provide a brief description of the network architecture used to create a Fabric blockchain.
- Quiz
4- Components and Architecture of Hyperledger Fabric
In this section, we will review the architecture of Hyperledger Fabric as well as installation requirements for building blockchain applications using Hyperledger Fabric.
- Hyperledger Architecture
- Peer --we describe the peer which is a node and can be a virtual machine or physical machine. It performs the processing.
- Ordering service -- is described which is responsible for ensuring the timestamped transactions are in chronological order. Nodes use this service prior to committing transactions.
- Fabric CA (Credential Authority) is responsible for validating and maintaining the certificates used for cryptography functions. We will provide a description of this component.
- Fabric ledger is the database for storing the transaction results and is divided into two components which we will describe: the immutable ledger and world state.
- Channel is a primary data communications design for connection nodes into secure networks capable of executing transactions for smart contracts and protecting data. We will describe how channels operate and their design.
- Organization is the basic entity within a Fabric network and is used for creating identities for executing various functions including transactions, security, smart contracts, and more. We will describe the organization and how they are used.
- Endorsement policy is a Fabric design pattern for securely executing transactions. It is a function carried out by nodes. We will describe this function and the workflow it operated under.
- Membership services provider (MSP) is the user store for maintaining and granting rights to identites to carry out functions and transactions in a Fabric blockchain. We will describe the MSP and how it is utilized in Fabric.
- Fabric Installation Requirements -- Fabric has several requirements that must be implemented in order to establish a proper functioning Fabric blockchain. We will go over what these are and describe each one.
- Quiz
Project- Build End-to-End Supply Chain DApps with Hyperledger Fabric V2
in this project, we build a simple supply chain blockchain application called Pharma Ledger Network (PLN) using Hyperledger Fabric. This project is organized in the following 5 sections:
1. Blockchain supply chain design
- Supply chain workflow
- Defining a Consortium
- PLN lifecycle
- Equipment attributes and values
- Equipment state changes
- Equipment at the hand of pharmacy
- Transactions
2. Writing chaincode as a smart contract
- Project Structure
- Contract class
- Transaction logic
- Query the ledger
3. Compiling and deploying Fabric chaincode
- Prerequisites
- Project structure
- configtx
- Docker
- Cryptogen
- Install Binaries, and Docker Images
- Start the PLN network
- Monitor the PLN network
- Creating PLN channel
4. Running and testing the smart contract
5. Developing an application with Hyperledger Fabric through the SDK
Requirements
- Basic knowledge of Linux commands and good knowledge of Node.JS is required.
- Basic understanding of programming. You should understand how programs are created, basic programming logic, how text editors and use of an IDE (Integrated Development Environment) are used to create software code, the use of command line tools used to compile and package programs so they are able to be deployed for execution.
- Basic understanding of Java, Python, JavaScript, GO, which are the languages used to create blockchain applications. A high level understanding of one or more will help you follow the development flow and understand the simple design patterns, logic, and operation of blockchain programs.
- Basic understanding of using Blockchain as covered in our Intro to Blockchain course. You should understand the primary components databases, peer-to-peer networking, consensus, basic cryptography like encryption, signatures, and hashing, and how these components work together to form a blockchain and perform the operations of processing and committing transactions onto an immutable ledger.
- It is highly recommended (but not required) to take our Blockchain Management in Hyperledger for System Admins course prior to taking this class.
Related Courses
- Learn Solidity Programming by Examples
- Introduction to Ethereum Blockchain Development
- Learn Blockchain Dev with Corda R3
- Intro to Hyperledger Sawtooth for System Admins
Complete Training Bundle
If you are serious about becoming a pro blockchain specialist, you should enroll in our Complete Blockchain Development Training. This bundle covers all essential and practical topics related to blockchain design and development. For $290 monthly subscription, you can have access to 300+ hours of hands-on project-based training covering all courses related to blockchain technology like Hyperledger, Ethereum, Solidity, Blockchain Security, Corda R3 and more. Click here to learn more.
Private Tutoring Classes
To take skills you learn from this course to the next level, taking the Coding Bootcamps school tutoring classes are highly recommended. It is also a great opportunity to discuss your questions and problems related to this course with an experienced instructor:
- Private tutoring sessions for blockchain design and development - Weekly and monthly plans
- Hyperledger Fabric development- Private tutoring sessions
What Is Next?
After finishing this course, you can enroll in any of following classes:
Recommended Free Courses
If you are new to the IT or programming, we suggest the following free courses:
Course Curriculum
- Components and Architecture- Lecture PDF Doc
- 1. Peers in Hyperledger Fabric (9:51)
- 2. Fabric Ordering Service or Orderer (9:07)
- 3. Fabric CA (Certificate Authority) (1:57)
- 4. Fabric Ledger (5:47)
- 5. Channels in Hyperledger Fabric (3:46)
- 6. Fabric Smart Contracts or Chaincodes (2:57)
- 7. Fabric Policies (6:39)
- 9. Membership services provider (MSP) (2:54)
- 10. Design Fabric Network (8:13)
- 11. Fabric Installation Requirements for Linux and Windows OS (6:15)
Sushma Varadaiah- Lead Blockchain Full Stack Engineer
Sushma is a Tech lead based out of Bangalore. She has a Bachelor’s Degree in Computer Science and Engineering and a Master’s Degree in Computer Science and Information Security from Manipal Institute of Technology, Manipal, India. She has completed her Mater’s degree certification on Blockchain. She has industry experience of 6+ years. She has played a role of Java developer, Web developer, Full Stack Engineer, Senior Full Stack Engineer and a Tech Lead in her career lane. Her main interests at the moment are Blockchain, IOT, DevOps, Cloud Infrastructure. She has teaching experience from her Master’s Degree program.
Her other skills are as follows:
- Blockchain: Hyperledger Fabric, Ethereum, Solidity
- Front End: HTML, CSS, Bootstrap, JavaScript/ES6, jQuery, Angular
- Back End: JAVA, Node.js, Spring Boot, Spring MVC, Hibernate
- Databases: MySQL, MongoDB
- Cloud: AWS, Azure
- DevOps: CI/CD, Jenkins, Docker, Terraform
- Testing: Chai, Mocha, JUnit