Skip to content

Distributed ledger client with Hyperledger Fabric implementation

License

Notifications You must be signed in to change notification settings

tallyxinc/distributedledger

Repository files navigation

Distributed Ledger

Distributed Ledger lets you easily set up a distributed blockchain network and distributed ledger on the network. It makes use of permissioned and distributed blockchain network built using hypeledger fabric. It uses the Fabric REST API bulit using fabric-node-sdk by Altoros.

Prerequisites

Components

hlfnw

hlfnw stands for Hyperledger fabric network. It contains the details of the fabric network like orderer, chaincode, and crypto materials for the network components.

ledgereventsvc

Ledger event service is responsible for listening to events from all the peers of the network through the fabric REST API and carry out specific operation based on the event.

ledgerdatasvc

Ledger data service, as the name suggests, carries out all the ledger specific operations like creating a transaction,retrieving the ledger data. Once the ledger entry is created, ledgerdatasvc waits for at least one replication of ledger entry. This is a REST service which uses fabric rest to communicate with network.

DLTestClient

DLTestClient is basically a dockerized apache jmeter test client. DLTestClient is used for load and performance testing on the project.

Deployment

First bring up the fabric network by going through the instructions in hlfnw. Now as part of the network, for each peer organization Fabric REST API will be running. Now run ledgereventsvc for each Fabric REST API instance, i.e run the ledgereventsvc for the number of organiztaions present (org1 and org2 in this case).

Then, bring up the ledgerdatasvc. You can check for instructions here to make ledger entry requests to the network and test.

Use DLTestCLient to run the tests on the project.

Contributing

Please read CONTRIBUTING.md and CODE_OF_CONDUCT.md for details on our code of conduct and the process for submitting pull requests to us.

License

Apache 2.0

Acknowledgments

  1. Hyperledger Fabric
  2. Altoros Fabric Rest
  3. Apache Jmeter
  4. Hyperledger Caliper
  5. Docker Jmeter