- Implemented using existing Fabcar samples from Hyperledger Fabric git repository with my own customization logic.
- Created a single channel, two organizations, a single orderer with each organization having a single peer.
- Each organization implemented with own Fabric CA standard of X509 certificates.
- Developed fast and efficient chaincode written in Go and Javascript to manipulate, format client data, and then store it in the ledger.
- Used the internal CouchDB database for world state which allows for quick data retrieval and operation.
- Used Docker Volumes for persisting data generated by and used by Docker containers. Volumes are stored in the local machine whenever the network got restart, retrieved the data by using the docker volume mount mechanisum.
- Utilized implicit Private Data Collection model which is used to see data by organization level.
- Improved performance by integrating Hyperledger Explore which provides necessary network information of the blockchain and also integrated Hyperledger Caliper benchmark tool which allows users to measure the performance of a blockchain network with predefined use cases.
- Created Rest API routes by using NodeJS server which will invoke and query data from the fabric network.
- Node js application having the functionality of enrolling Admin and Registering user, invoke and query data from chaincode by using fabric network.
- Hyperledger Fabric [
v2.3.0
] - Hyperledger Explorer [
latest
] - Hyperledger Caliper [
v0.4.0
] - Go [
go1.15.5
] - Docker [
v19.03.4
] - Node [
v12.13.1
] - npm [
6.12.1
] - Node JS
- Shell Script
- Postman
- api [
Rest API Service used communicate with fabric network
] - bin [
Hyperledger Fabric binaries
] - caliper [
Caliper benchmark tool integration setup
] - chaincode [
Application Chaincode in Go and NodeJS SDK
] - cmd [
Script used to start and stop the fabric network
] - common-utils [
Private Data Collection JSON File
] - config [
Channel Configuration
] - explorer [
Explorer tool integration setup
] - dev [
Start network in dev environment
] - test-network
- Under
test network
having couples of provision like creating theFabric CA
certficates to the entities, creating theChannel
,Organization
and deploy theChanicode
in each organization peer networks so on...
- Under
$ cd cmd/
$ ./startFabric.sh
$ cd cmd/
$ ./networkDown.sh
Note : Network restart command used to restart the network without disturbing the world state couch DB, channel and entities. Data will persistence by using docker volume mount
$ cd cmd/
$ ./networkDown.sh restart
$ cd api/fabcar/javascript
$ npm run start
Ctrl + C
$ cd explorer
$ ./startExplorer.sh
$ cd explorer
$ ./stoptExplorer.sh
$ cd caliper
$ docker-compose up -d
...
...
...
...
- Sudhan Manoharan
- sudhanmanoharan@gmail.com