Good blockchain ideas don’t take off because of the most critical blockchain adoption challenge i.e bringing the blockchain business network together. IBM is leading the way in solving this challenge by bringing well-established enterprises and budding entrepreneurs together trying to build a minimum viable ecosystem needed for blockchain solutions. IBM Blockchain platform is the foundation on which these business networks are built on.
The N/W we will build in this guide
Powered by Hyperledger, IBM Blockchain Platform with its value add tools greatly ease the technicalities in establishing and operationalizing your blockchain network.
IBM Blockchain platform Technical Brief (source)
This post assumes some understanding of Blockchain and Hyperledger Fabric. Please listen to this webinar that OFS co-hosted with IBM Introducing blockchain and IBM Blockchain Platform with a demo
IBM Blockchain Platform 2.0 Beta
Early February’19 IBM unveiled the IBM Blockchain Platform 2.0 for free Beta. This release packages the following powerful features
- Greater deployment flexibility backed by Kubernetes cluster that you manage
- Multi-cloud blockchain network bringing true decentralization in where you run your nodes
- Dev tools integration with VS Code extension
In this post, we will see how to quickly set up a Blockchain network with two organizations in 10 simple steps.
What are we setting up?
If you prefer a video walkthrough of the entire setup process, please listen to this — takes 30 mins. In fact, I recommend you to do that. The remainder of this post is the abstraction of the video content. I am linking the steps to the video so that you can jump to sections of interest
After you log in to IBM cloud, Blockchain Platform 2.0 will be available in the database section — start there.
Blockchain Platform 2.0
following the wizard should land you here
IBM Blockchain Platform 2.0 Console
A certificate authority is a mandatory component of your IBP network. You will need a certificate authority per MSP(Organization in the network).
Add a CA to be used by your MSP
Make sure you register two types of identities when you create the certificate authority
1.A user of type “peer” whose certificates your peers will use to communicate
2.A user of type “client” the certificate that will be used for administration
MSPs are the organizations in the network. Register your organizations and choose the certificate authority.
The organization admin should be the identity that you registered of type “client”. Enroll the identity.
Set up MSP
Enrolled ids will show up in the wallet
Pay attention to the fact that the Wallet here is ephemeral so you have to re-enroll your identities if don’t see them here, so take a back of the keys.
Enrolled Identities in Wallet
Add peers and associate identity
Use the account of the type “peer” for Peer enroll id.Use CA admin for TLS.Use the account of type “client” when asked to associate identity
Peer detail view
Orderer is a key service acting as an orchestrator of the network broadcasting transactions between various peers in the network.
The configuration of the orderer is similar to that of peer configuration the orderer is usually one per organization, however, one has the flexibility to create more than one orderer when necessary.
A consortium is your business network. You should attach your consortium to the orderer
Establish a network of organisations
Channels are created leveraging the foundational elements we established so far, channels are really a subnet of communication between two or more specific network members.
Create a channel
Please note that the newly created channel will not be listed until a peer is added to the channeleven if it is successfully added.
Launch your peer and join a channel
You should know the name of the channel to add your peer to the channel
The Genesis Block
The type of package accepted by the console is cds. The VScode plugin for IBM blockchain makes is very easy to create a cds package
Instantiate smart contract
Up on successful installation of the smart contract, you can instantiate them. With that step, your very own IBP v2 Network is ready for consumption.
Kubernetes Pods Deployed for our N/W
Hope you found this guide helpful. Please share your comments. Thank you.
Disclaimer: This post is not intended to replace any official documentation from IBM for IBM Blockchain Platform. Also, note that the IBM Blockchain platform 2.0 is in Beta at the time of preparing this documentation, instructions might change as the platform progreses to GA
About the Author
Ganeshram Ramamurthy is ObjectFrontier’s technical director and heads technology for presales. For many years, Ganesh has been designing and developing enterprise applications across various domains. He has a keen interest in emerging technologies and is now spearheading blockchain initiatives at OFS.