In this course, you are going to learn how you can set up Hyperledger Fabric Network on multiple hosts on multiple clouds. We are going to use the following configuration for deploying fabric applications.
3 Virtual Machine (any cloud of your choice.
3 Orgs - 3 Peer Orgs(1 peer each) and 1 Orderer Orgs( 5 Ordering Nodes).
3 Certificates Authority for each org. (For certificate creation).
NodeJS API Server for Chaincode invocation.
Various Ways for Multi-host Deployment
As Hyperledger Fabric components are deployed as containers, everything works fine when running in the localhost. When they are running in different hosts, we need to find a way to make these containers talk to one another.
Static IP By specifying the host IP where a container is running, containers can communicate with each other. Those host IPs are specified using extra_hosts in docker-compose files, and after a container is running, these entries are seen in, etc/hosts. The downside is that things are statically configured, and there are challenges when one needs to add or change the configuration.
Docker Swarm Docker Swarm is a container orchestration tool natively in the Docker environment. In a nutshell, It provides an overlay network for containers across multiple hosts. Those containers on this overlay network can communicate to one another as if they were on a large host. Obviously, the good side is that the original configuration can be used with minimal modification, and no static information such as IP is coded in the configuration.
Kubernetes (k8s) K8s by far is the most popular container orchestration tool. The mechanism is similar to Docker Swarm. The implementation of this approach is much more challenging than the previous two mechanisms.
What we cover in this course
Purely Hands-on experience of
VM Creation & Network Setup (3 VM)
Create Docker Swarm Network
Certificate and Private keys creation using Certificates Authority (3 Org - 3 CA, 5 Orderer - 1 CA)
Channel Artifacts Creation
Setting up CLI tools for each organization.
Channel Creation & Joining on Each VM.
Chaincode Install & Approve for Each Orgs
Committing & Invoking Chaincode
API Server(Container) creation.
Invoking Transaction from API Server
Setting up Hyperledger Explorer