Training > Blockchain > Hyperledger Fabric for Developers (LFD272) + CHFD Exam Bundle
COURSE + CERTIFICATION BUNDLE

Hyperledger Fabric for Developers (LFD272) + CHFD Exam Bundle

Who Is It For

CHFD is for developers who want to demonstarte their ability to package and deploy Fabric applications and smart contracts, perform end-to-end Fabric application life-cycle and smart contract management, program in Java or Node.js (or Go for smart contracts) and more.
read less read more
What You’ll Learn

In this course, you’ll learn how to implement and test a chaincode in Golang for any use case, manage the chaincode life cycle, create Node.js client applications interacting with Hyperledger Fabric networks, control access to the information based on a user identity, set up and use private data collections and much more.
read less read more
What It Demonstrates

A CHFD should demonstrate the knowledge to develop and maintain client applications and smart contracts using the latest Fabric programming model.

Such a developer must also be able to:
- package and deploy Fabric applications and smart contracts, perform end-to-end Fabric application life-cycle and smart contract management
- program in Java or Node.js (or Go for smart contracts)

Passing a performance-based exam demonstrates the candidate's ability to perform challenging real world tasks under time constaints.

read less read more
Course Outline
Chapter 1. Course Introduction
Chapter 2. Hyperledger Fabric: Components and Concepts Review
Chapter 3. Chaincode Basics
Chapter 4. Chaincode Lifecycle
Chapter 5. Ledger Data Range Queries
Chapter 6. CouchDB as a State Database
Chapter 7. Using Chaincode to Read the History of Assets
Chapter 8. Programmatic Access Control: Client Identity
Chapter 9. Chaincode Specifics
Chapter 10. Chaincode Unit Testing
Chapter 11. An Overview of HL Fabric Node.js SDK
Chapter 12. Main Application Components
Chapter 13. Interaction with HL Fabric CA from an Application
Chapter 14. Events Processing
Chapter 15. Private Data Collections

Exam Domains & Competencies
Identity Management7%
Instantiate a wallet
Import identities to a wallet
Select and manage identity from a wallet
Network Configuration8%
Create and use connection profiles
Instantiate and connect to a gateway
Access networks and contracts
Smart Contract Development40%
Define smart contract class/construct
Define transaction functions
Validate and sanitize inputs and arguments
Implement deterministic logic/code
Simple state interaction (Get, Put, Delete)
Execute simple queries
Create complex queries
Define assets using key value pairs
Identify potentially private data
Incorporate private data collection
Implement attribute based access control
Initialization of the ledger state
Install and instantiate a smart contract
Smart Contract Invocation25%
Invoke smart contracts via CLI
Submit one or more transactions
Evaluate transaction functions e.g. for queries
Query transaction history
Call a transaction using transaction class (stateful)
Create and issue an application contract
Register and handle channel-based events
Maintenance and Testing20%
Handle error and success responses
Identify and review logs
Unit test contracts
Diagnose and endorse policy conflicts
Identify and correct non-determinism in functions
Troubleshoot transaction flow

The Linux Foundation worked with industry experts and the Linux kernel community to identify the core domains and the critical skills, knowledge and competencies applicable to each certification. Performance-based exams were then developed based on the competencies that were identified.
Exam Details & Resources
This exam is an online, proctored, performance-based test that consists of a set of performance-based tasks (problems) to be solved in a Web IDE and the command line.
Learning Path
To best benefit from this course you should have:

  • Understanding of Hyperledger Fabric architecture and components: Ledger, Channel, Chaincode, types of network nodes (Endorser, Committer, Orderer, etc.), transaction flow, Certificate Authority (CA)
  • Experience with GoLang and NodeJS:
    – Ability to install GoLang, run go commands from the cli; knowledge of basic language constructions
    – Ability to install NodeJS, run applications from the cli; knowledge of basic language constructions; familiarity with package management
  • Knowledge of Docker basics:
    – Ability to install docker daemon, run docker containers locally, understand and use basic commands
  • Experience with the command line/shell of a Linux operating system
  • Familiarity with NoSQL databases and general understanding of CouchDB

We highly recommend that you first take the Blockchain for Business: An Introduction to Hyperledger Technologies (LFS171x) MOOC which is free to audit on edX.