Blockchain Analyzer: Analyzing Hyperledger Fabric Ledger, Transactions
Each blockchain platform, including Hyperledger Fabric, provides a way to record information on blockchain in an immutable manner. In the case of Hyperledger Fabric, information is recorded as a
key ]/value pair. All previous updates to a
key are recorded in the ledger of a Hyperledger Fabric peer, but only the latest value of a
key can be easily queried. This mechanism makes it challenging to perform analysis of updates to a
key, a necessary requirement for information provenance.
To address this problem, we have created a project which can be used to analyze ledger data stored within a Hyperledger Fabric peer. This project can also be used to analyze operational data, such as number of blocks and transactions.
Currently, the project includes:
an Elastic beats module (in Go), that ships ledger data from a Hyperledger peer to an Elasticsearch instance.
generic Kibana dashboards, that allow selection of a particular key and visualization updates to it (channel, id, timestamp etc) - similar to Hyperledger Explorer.
scripts to create Hyperledger Fabric network in different configurations, i.e.,
a program to generate test data
a standalone utility to dump Fabric transaction data as JSON file for loading and analyzing in any document store.
scripts to start and stop Elasticsearch and Kibana.
The eventual goal of this project is to evaluate transactions of any blockchain using any document databases or search engines such as MongoDB, CouchDB, or Elastic stack.
This project was developed as part of Hyperledger summer internship program.
We recommend that you start with the instructions for
Once you have it up and running, you can try the
If you want to learn more about
fabricbeat configuration or connect it to your own blockchain network, click here.
If you want to understand dataflow involving
fabricbeat, click here.
The Apache 2.0 License applies to the whole project, except for the stack directory and its contents.