We heard about Blockchain technology and understand its value to business. Here we would want to share our learnings with you all,acquired during setting up a single node Hyperledger blockchain dev environment during a client engagement. This entire installation & configuration takes 120-150 minutes. This blog is co-authored with@Krishna Harshaand@PriyaVasudevan.
- If you arenew to Blockchain,please visit -https://www.ibm.com/blockchain/what-is-blockchain.htmlandhttps://www.hyperledger.org/.
- If you are a developer and looking for a systematicfree online self-learning course,please visit -https://developer.ibm.com/courses/all-courses/blockchain-for-developers/
- If you want to useblockchain without installing & managing it,IBM Bluemix platform as a service (PaaS) provides convenient ways to test an IBM Blockchain network on the cloud -https://www.ibm.com/blockchain/bluemix.html.
- IBMBluemix garages for blockchainhelp businesses accelerate the design and development of blockchain applications,For more info -https://www.ibm.com/blockchain/garage.html.
Let’s get started. As you can see from below snapshot,I am using Ubuntu 16.04.1 LTS machine with 8 core processor and 32 GB RAM. Using Putty I am accessing it as superuser.
Make sure network is configured properly and internet is accessible. You can check /etc/hosts and /etc/resolv.conf. Try to ping any web address to make sure everything is alright.
Since the Hyperledger Fabric project is a ‘Go’
project,you’ll need to install it first. Make sure its version is 1.6 or higher.
apt install golang-go
mkdir -p /opt/gopath/src/github.com/hyperledger
cd /opt/gopath/src/github.com/hyperledger/
git clonehttp://gerrit.hyperledger.org/r/fabric
export PATH=/usr/lib/go-1.6/bin:$PATH
export GOPATH=/opt/gopath/
export GOROOT=/usr/lib/go-1.6/
export PATH=/opt/gopath/src/github.com/hyperledger/fabric/build/bin/:$PATH
You would also need couple of libraries so run below command -
apt-get install -y cpp gccgo "build-essential" libsnappy-dev zlib1g-dev libbz2-dev docker.io curl
cd /tmp
git clonehttps://github.com/facebook/rocksdb.git
cd rocksdb
git checkout v4.1
PORTABLE=1 make shared_lib
INSTALL_PATH=/usr/local make install-shared
Also build pip,behave and docker-compose using below commands.
apt install python-pip
pip install --upgrade pip
pip install behave nose docker-compose
pip install -I flask==0.10.1 python-dateutil==2.2 pytz==2014.3 pyyaml==3.10 couchdb==1.0 flask-cors==2.0.1 requests==2.4.3
cd $GOPATH/src/github.com/hyperledger/fabric
make peer
At stage-1,you would see your screen like this -
At stage-2,that’s how you screen looks like –
Stage-4
make membersrvc
With this installation part is done. Now lets Start node service (validating peer) –
peer node start
Run Certificate Authority (CA) server by starting member services –
membersrvc
netstat -lnt
7050 – REST service listeining port
7051 – Peer service listening port
7052 – Used by CLI for callbacks
7053 – Event service on validating node
7054 - Certificate Authority (CA) listening port (Member services)
Once services are up and running. You can use REST API calls from any machine on network.
In the next blog,we’ll configure security,privacy and logging levels for this setup (http://ibm.biz/securebc).We’ll also see how to write,deploy,invoke and query chaincode (http://ibm.biz/chaincode). Thanks.
References:
- http://hyperledger-fabric.readthedocs.io/en/latest/dev-setup/devenv/
- https://www.ibm.com/blockchain/what-is-blockchain.html
- https://www.ibm.com/blockchain/for-business.html
- https://github.com/hyperledger/fabric/blob/master/docs/Setup/ca-setup.md
- http://hyperledger-fabric.readthedocs.io/en/latest/API/CoreAPI/#rest-api
- http://hyperledger-fabric.readthedocs.io/en/latest/dev-setup/build/
- https://www.ibm.com/blockchain/garage.html
- https://www.ibm.com/blockchain/bluemix.html