Skip to content

A blockchain benchmark framework to measure performance of multiple blockchain solutions

License

Notifications You must be signed in to change notification settings

jeffywu/caliper

 
 

Repository files navigation

Hyperledger Caliper

Welcome to the Hyperledger Caliper project. Caliper is a blockchain performance benchmark framework, which allows users to test different blockchain solutions with predefined use cases, and get a set of performance test results.

Currently supported blockchain solutions:

Hyperledger Composer is also supported.

Currently supported performance indicators:

  • Success rate
  • Transaction/Read throughput
  • Transaction/Read latency(minimum, maximum, average, percentile)
  • Resource consumption (CPU, Memory, Network IO,...)

See the PSWG white paper to find out the definitions and corresponding measurement methods.

For more information on using Caliper please consult the documentation site

Pre-requisites

Make sure following tools are installed:

  • NodeJS 8 (LTS), 9, or 10 (LTS) we do not support higher versions as the dependancy chain does not permit this
  • node-gyp
  • Docker
  • Docker-compose

Building Caliper

Caliper is split into packages that are managed by Lerna, a tool for managing JavaScript projects with multiple packages. To build Caliper, it is necessary to first pull the required base dependancies, and then bootstrap the Caliper project. Note that if you modify base code, it is necessary to rebuild the project

  • Run npm install in Caliper root folder to install base dependencies locally
  • Run npm run repoclean in Caliper root folder to ensure that all the packages are clean
  • Run npm run bootstrap to bootstrap the packages in the Caliper repository. This will install all package dependancies and link any cross dependancies. It will take some time to finish installation. If it is interrupted by ctrl+c, please recover the file package.json first and then run npm run bootstrap again.

Do not run any of the above commands with sudo, as it will cause the bootstrap process to fail

How to contact us

If you have any issues using Caliper that the documentation does not help you solve, please reach out to us through the following methods:

  • RocketChat Please feel free to contact us on Rocket Chat (instant messaging). We monitor that channel as close as possible, but even if you don't have a problem that needs resolving, why not jump on and say hi ... we'd love to hear from you about your experiences and any new features you think we should work on.
  • Issues Feel free to raise an issue if you are facing a Caliper related problem

Caliper interacts with multiple blockchain technologies and consequently it might be an issue with the underlying blockchain technology being interacted with. You can seek specific help on these technologies within the following Rocket Chat channels:

How to contribute

We welcome contributions to the Caliper code base. Please see Contributing for more information.

License

Hyperledger Project source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the LICENSE file. Hyperledger Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0), available at http://creativecommons.org/licenses/by/4.0/.

About

A blockchain benchmark framework to measure performance of multiple blockchain solutions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 87.3%
  • Go 7.6%
  • Shell 2.0%
  • Python 1.6%
  • HTML 0.7%
  • PHP 0.5%
  • Dockerfile 0.3%