A Hyperledger Fabric Single Org Demo - written in Go Fabric SDK
Employeeledger is a web application written in Go language to demonstrate the Hyperledger Fabric Blockchain framework. The project repo has been designed to upload employee records into the blockchain and also has the functionality to update, delete the record stored securely in the Hyperledger framework.
However, this explanation guide does not explain how Hyperledger Fabric works, so for the information, you can follow at Hyperledger.
Medium writeup : https://medium.com/@deeptiman/a-single-organization-application-in-hyperledger-fabric-146c351b04b7
Employeeledger requires Docker & Go to run.
$ sudo apt install docker.io
$ sudo apt install docker-compose
$ sudo apt-get update
$ sudo apt-get install golang-go
$ export GOPATH=$HOME/go
$ export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
$ source ~/.profile
$ go version
$ go version go1.11 linux/amd64
This sample Hyperledger Fabric blockchain network is built on a single organization consisting of two peer nodes. There are few prerequisites to follow to set up and install a blockchain network in the docker container.
Arch |
---|
Linux AMD 64 |
Linux s390x |
Linux PPC64le |
Windows AMD 64 |
Darwin AMD 64 |
There are few configuration files is written, which composed of various configuration details of a network like Certificate Authority (CA), Peer , Orderer , CouchDB.
This configuration file will generate few certificates and key for the organization and it’s related entities like peers, admin, orderer. The cryptogen binary will take the config file as input and after execution, it will create a crypto-config folder in the config directory, which will contains all the generated certificates and key.
./bin/cryptogen generate —config=./crypto-config.yaml
This config file will contains complete details of a channel related to an organization. It will create three artifacts for a network.
./bin/configtxgen -profile EmployeeLedger -outputBlock ./artifacts/orderer.genesis.block
./bin/configtxgen -profile EmployeeLedger -outputCreateChannelTx ./artifacts/employeeledger.channel.tx -channelID employeeledger
./bin/configtxgen -profile EmployeeLedger -outputAnchorPeersUpdate ./artifacts/org1.employeeledger.anchors.tx -channelID employeeledger -asOrg EmployeeLedgerOrganization1
Now, we need to deploy the configuration details into a docker container, so we need to use Docker Compose. There will docker-compose.yaml configuration file, which will contain all config details for Orderer, Certificate Authority, Peer, Couch DB.
The compose file can be deploy into a network, by executing following command
docker-compose up -d // the docker-compose.yaml has to be located at same command location
So, all done , your blockchain network is now deployed into a docker container.
You can check by executing following command
docker ps
This project is licensed under the MIT License