Debut Infotech
Published in

Debut Infotech

The Pre-Requisites for Deploying Hyperledger Fabric in Production

Source: Serial Coder

What is Hyperledger Fabric?

Hyperledger Fabric is a modular Blockchain framework that plays a major role by acting as a footing for developing Blockchain-based solutions using the plug-and-play components that are intended for a convention in private enterprises. Fabric is a highly modular decentralized ledger technology platform that is private and requires permission to access sensitive information such as transactions and business segregate information.

Hyperledger Fabric was launched by Digital Asset and IBM and has now emerged as a cross-industry venue being currently hosted by the Linux foundation.

Advantages of Hyperledger Fabric

Hyperledger Fabric is a multi-cloud deployment tool that promotes distributed ledger on permissioned networks for a great range of industries. Here are a few advantages of Hyperledger Fabric:

1. Permissioned membership: Hyperledger Fabric works on the permissioned network modules that ensure that all the participants have known identities in a network.

2. Performance, scalability, and trust: Hyperledger Fabric has a modular architecture that separates transaction processes from different phases. Here is an image depicting the transaction lifecycle of Hyperledger Fabric:

[Source: IBM]

1. Efficient queries over distributed ledger: The distributed ledger is a sequence of records of state transitions for the Blockchain application. Each of these transactions contains a set of key-value pairs that commit to the ledger as it is created, updated, or deleted.

2. Protection of digital keys and sensitive data: Hyperledger Fabric provides a modified and unmodified version for PKCS11 which supports identity management and data protection.

Deploying Hyperledger Fabric in production

These steps would serve as the guidelines for Hyperledger fabric deployment in production:

1. Technical architecture

The major entities of the technical architecture of the Hyperledger Fabric processes are:

1.1. Foreman: This is the consortium of all the organizations.

1.2. Regulators: This is the consortium of all the regulatory entities.

1.3. Subscribers: These are the end beneficiary of any Blockchain-based network.

2. Configuration files

All the configuration files required in the deployment of Hyperledger Fabric can be found on GitHub.

1. Configtxgen tool: This tool generates a genesis block, which is a configuration block that sets a blockchain channel. The genesis block is adapted according to the definition of organizations in the crypto-config. yaml file.

2. Cryptogen tool: This tool generates the certificates for Fabric members based on the provided file.

To generate the network artifacts, you should run network-artifacts-gen. sh. This would create crypto-config and channel-artifacts folders.

The contents would appear as shown below:

[Source: Opensource.com]

1. Fabric-ca.yaml: This is the Kubernetes deployment template for the CA service of Fabric.

2. Fabric-orderer.yaml: This is the Kubernetes deployment template of the orderer.

3. Fabric-peer.yaml: This file depicts the deployment template of the peers.

1. Deployment

Here are the steps for deployment:

3.1 Clone the example configuration present.

3.2 You need to change the directory into the HLF folder (https://github.com/collins-b/opensource.com/tree/master/HLF).

3.3 Install the composer and import identities during the generation of network artifacts: npm install -g composer@0.13.0

3.4 If the network artifacts are regenerated you need to commit everything and push to the GitHub repository.

3.5 Make modifications to the org1.example.com.yaml file to tie the repository details to the task.

3.6 Templates (https://github.com/collins-b/opensource.com/tree/master/HLF/fabric-artifacts/templates) files should be modified accordingly.

3.7 Helm package is used for the package manager for Kubernetes to manage the Hyperledger deployment.

3.8 Start a local Kubernetes environment by running the following command: minikube start

3.9 Initialize Helm by using the command helm int. After ten seconds when Helm is finished up provisioning, run:

helm install — name test./fabric-artifacts -f org1.example.com.yaml

This would deploy the orderer, peer, and CA.

3.10 Confirm the deployment by listing the pods: kubectl get po

4. Creating and joining the channel

Run channel.ch (i.e. sh channel.sh). This creates a channel with the name mychannel.

The following images depict the working of various logs in the Hyperledger Fabric channel:

1. CA Logs

[Source: Opensource.com]

2. Peer Logs

[Source: Opensource.com]

3. Orderer Logs

[Source: Opensource.com]

Conclusion

To effectively set-up a production environment for Hyperledger Fabric you need to have a complete and in-depth understanding of the technical architecture and numerous pre-requisites of the production environment, apart from those mentioned above.

Know more about Hyperledger production on the Kubernetes cluster with Debut Infotech.

Deploy Hyperledger Fabric hassle-free with us! Reach out to us at fabdep@debutinfotech.com or call us at 1–703–537–5009.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store