Description
Hyperledger Caliper is a platform for facilitating the execution of user-provided workloads/benchmarks on multiple blockchain platforms in a transparent way. Caliper achieves its flexibility by relying on two configuration files during its execution.
One configuration file describes the test rounds that Caliper must execute, including: the intensity/rate and content of the workload; the deployment of processes that generate the workload; and additional monitoring settings.
The other configuration file describes the target blockchain network in detail, at least including the topology of the blockchain network (among other, platform-specific attributes).
The aim of the project is the following:
- Create a GUI component for Caliper that makes the management of configuration files easier, specifically:
- Assembling/generating configuration files through the GUI
- Saving, loading and editing configuration files
- Providing built-in documentation and tips for the users
- Visualize in real-time the key performance indicators observed during the execution of a benchmark
Additional Information
Caliper documentation page: https://hyperledger.github.io/caliper/
Caliper GitHub repository: https://github.com/hyperledger/caliper
Contribution guidelines: https://github.com/hyperledger/caliper/blob/master/CONTRIBUTING.md
Learning Objectives
- Contributing and collaborating in an open-source project
- Knowledge of how to perform a blockchain performance evaluation
- Graphical visualization techniques for performance indicators
Expected Outcome
A GUI component for Caliper, including: the implementation of the listed features; a developer documentation; and a user (how-to) documentation on the official documentation page (in the form of screen casts, for example).
Relation to Hyperledger
Builds on Hyperledger Caliper, partially relying on concepts of other Hyperledger platforms (like Fabric, Sawtooth, etc.)
Education Level
Undergraduate level or above
Skills
- JavaScript (Node.js)
- High-level understanding of HL Fabric/Sawtooth networks (desired, but not required)
- Previous Hyperledger Caliper experience (desired, but not required)
- Fluent English or Mandarin will be preferred
Future plans
The project outcome (the GUI component) will facilitate the adoption and easier application of Caliper in the community. As an integral part of Caliper, the GUI component will also need to follow the newly added features of Caliper, providing a continuing opportunity to work on the project.
Preferred Hours and Length of Internship
Full-time (40 hours a week for 12 weeks during the summer) or Part-time (20 hours a week for 24 weeks starting in summer and ending in fall)
Mentor(s) Names and Contact Info
- Jiang Feihu, Huawei, jiangfeihu@huawei.com
- Attila Klenik, Budapest University of Technology and Economics, klenik@mit.bme.hu