Beginner’s Guide to deploying your Blockchain in IBM Bluemix
IBM Bluemix is a ‘Cloud Platform As A Service’ solution developed by IBM. Interestingly, even blockchain as a platform is available. This allows one click deployment of a blockchain solution.
Subscribe to our awesome Newsletter.
What is IBM Bluemix a.k.a IBM Cloud
IBM Bluemix is now IBM cloud. After the rebrand IBM Cloud not only provides Platform As A Service, but also they provide Infrastructure As A Service, along with Software As A Service. As a flexible SaaS platform, IBM cloud delivers all the necessary services for running a Blockchain in the cloud without breaking a sweat.
The platform is designed to accelerate the development, governance, and operation of a multi-institution business network.
The Blockchain service provided by IBM provides easy maintainability and deployment for developers via a clean interface to control most of the operations. Operations like activating the network, generating a smart-contract, checking the logs and restarting the network are just one click ahead. That’s wow.
Starting a Blockchain service
To start using the Blockchain service from IBM, just register and go to the catalog to see the number of services they provide.
In the Blockchain service, create a instance with the “Starter Pack” option. It is free for 30days and provides the same unlimited service as the paid one. You can get yourself comfortable with the UI and application in about a week.
Creating the Network
After launching the service, you can see the welcome screen with a “Create Network” button. Click on it.
Now you can see a wizard window asking the basic details of your network. Fill in the information and proceed to the next step. The next step involves inviting people into your network. You might have to provide their organization name and their email to send an invite.
As the last step, confirm the informations your provided and click on DONE.
P.S: These are the steps during the time of writing. The information asked in the wizard might be updated in the future.
Starting the Network
To have an active blockchain network, we need peers to be added to the organization. IBM’s Blockchain service beautifully starts the process by asking you to Add Peers. This is the perfectly designed workflow. You need the enter the details of the peers and proceed to the next screen.
Now you can see the peers with the status information and also the options to stop, restart or see the logs of each peer.
Creating the Channel
The wizard then proceeds by asking to Create A Channel. This is a 3-step process that includes, 1. Entering the Channel Information 2. Inviting the users to join the Channel 3. Defining the policy for Channel access
As a part of the invite, the users get a channel request. In order to proceed to next step of starting the network, the channel’s policy needs to be satisfied. i.e, a threshold number of users should accept the request.
Joining Peers to the Channel
Keeping up the pace, as soon as the channel is created, the wizard asks the user to select the peers to join the channel. After joining, you can see that the channel has been created.
Deploying Chaincode in the Network
Installing and instantiating chaincode is never an easy task. But IBM has made it easy with a few clicks. Click on the Chaincode tab, choose a Peer and click on Install Chaincode. This will navigate you to the wizard that asks for basic information about the chaincode and an upload button to upload your chaincode. This will also automatically identify whether the Chaincode is written in Golang or NodeJS. This is a beautiful automation provided with the service.
As a next step, Instantiation is done simply by passing the args that one usually initializes during the init() function.
Choose a Channel. Click on submit. And it’s done!
The time it takes to deploy a blockchain is not more than 5 to 10 minutes. That’s a a huge reduction. In fact, IBM has also made about 80% of the deployment strategy accessible with just a few clicks. All this sounds pretty futuristic, but you need to use it to believe it!