A Comprehensive Guide to Building Decentralized Applications
This comprehensive course provides a comprehensive overview of Hyperledger Fabric development, catering to both novices and seasoned developers who are interested in creating decentralized applications (DApps). The course covers the fundamental aspects of Hyperledger Fabric, including its architecture and components, and then delves into more advanced topics such as chaincode lifecycle, front-end DApp development, complete application deployment, advanced fabric concepts, and considerations for production networks. Upon completion of this course, participants will have practical experience in establishing local fabric networks, writing and deploying chaincodes, creating user-friendly DApps, and managing high-quality fabric networks.
 

Hylerdeger Fabric Developer Objectives


By the end of this course, participants will be able to:
Understand the Architecture: Comprehend the core components of Hyperledger Fabric and its architecture, including peers, orderers, channels, and more.
Set Up Local Networks: Implement a local fabric network using Docker compose, CLI, and SDKs.
Develop Chaincodes: Write, install, instantiate, and upgrade chaincodes using Go and shim APIs.
Manage Chaincode Lifecycle: Understand the full lifecycle of chaincode, including approval, commitment, security, and integration with CouchDB.
Build Frontend DApps: Develop decentralized applications using popular frameworks like Node.js and React, and connect them to Hyperledger Fabric.
Deploy Applications: Master end-to-end deployment of DApps with integrated REST APIs, UI development, and network monitoring.
Implement Advanced Concepts: Work with access control lists, channels, private data, hardware security modules (HSM), and decentralized identity management.
Manage Production Networks: Understand the considerations for deploying in a production environment, including high availability, monitoring, logging, and data migration.

 

Prerequisites


Programming Knowledge: Familiarity with programming languages like Go, Node.js, and understanding of React is beneficial.
Understanding of Blockchain: Basic understanding of blockchain technology and decentralized systems.
Software Requirements: Access to a computer with Docker, Go, Node, and other related development tools installed.
Recommended Experience: While not mandatory, previous experience with Hyperledger Fabric or other blockchain platforms would be helpful.

 

Target Audience


This program is designed for developers, engineers, and technology enthusiasts who are interested in delving into the realm of Hyperledger Fabric development. Through practical exercises, real-life situations, and expert support, attendees will gain the skills needed to excel in creating decentralized applications using Hyperledger Fabric.
 

Curriculum

•    What is Hyperledger Fabric and its architecture 
•    Components of Fabric – peers, orderers, channels, MSP, etc.
•    Setting up Fabric prerequisites like Docker, Go, Node, etc.
•    Running sample Fabric networks using test network and BYFN
 

•    Understanding identity and membership services 
•    Generating cryptographic material like certificates 
•    Bringing up a network using Docker compose
•    Installing and using Fabric CLIs and SDKs
•    Interacting with your network through CLI and APIs
 

•    What is chaincode and how it works
•    Writing basic chaincode in Go using shim APIs
•    Installing, instantiating and upgrading chaincode
•    Leveraging dependencies and private data collections
•    Writing tests using chaincode stubs and shim
 

•    Understanding chaincode lifecycle – approve, commit etc.
•    Setting up channel policies and endorsement policies
•    Chaincode security through visibility and endorsement
•    Invoking and querying chaincode from applications
•    Integrating CouchDB for rich queries 
 

•    Setting up a DApp project scaffold using Node.js, React etc. 
•    Connecting to Fabric using gateways and wallets
•    Calling chaincode functions from your DApp
•    Handling identities and certificates
•    Subscribing to chaincode events 
 

•    Building user-friendly UI with React and Material UI
•    Integrating REST APIs for easier integration
•    Packaging and deploying DApps 
•    End-to-end flow walkthrough and debugging
•    Building network monitoring dashboards
 

•    Implementing access control lists
•    Working with channels and private data
•    Integrating hardware security modules (HSM)
•    Building multi-org endorsement policies
•    Implementing decentralized identity management
 

•    Considerations for production deployments
•    High availability configuration
•    Upgrading to the latest Fabric releases
•    Monitoring, logging and Troubleshooting
•    Migrating data and integrating existing systems