2019 Summer Mentee Project Update: Constructing a Graphical User Interface (GUI) for Hyperledger Caliper

What I worked on

The Hyperledger Caliper summer internship was a very fulfilling experience for me! It solidified my technological foundation on full-stack development, large-scale project integration, Hyperledger Blockchain configuration, and data visualization.

Before this internship, I mainly worked on theoretical blockchain and cryptography research at Purdue University, and this internship gave me a perfect balance between development and research.

I also gained many invaluable connections with those awesome contributors to Hyperledger projects!

The main objectives of this internship are:

  • Constructing a Graphical User Interface (GUI) for Hyperledger Caliper with real-time visualization functionalities.
  • Supporting Caliper test configuration file generating, editing, and saving functionalities on the Caliper GUI.
  • Connecting the GUI with databases by saving test results and configuration file objects into MongoDB.
  • Building backend server and API to get the network and test configuration files for Hyperledger blockchain tests.
  • Integrating Caliper GUI with Caliper core workflow and making Hyperledger Caliper more user friendly in the future.

I want to thank everyone that made my internship successful and meaningful, especially my awesome mentors: Feihu from Huawei and Klenik from Budapest University of Technology and Economics! I also want to give thanks for the help from Nick, who is also one of the major contributors to the Hyperledger Caliper project, and Baohua from Oracle, who gave me so much great advice on my internship and career in the blockchain industry!

What I learned or accomplished

 Technological accomplishments:

  • I learned many full-stack technologies that can support my future development efforts.
  • I started a project from scratch and was able to successfully develop it by learning a lot from many contributors in Hyperledger.
  • I fully understand and re-implemented the test mechanism of Caliper on different Hyperledger frameworks using the Caliper GUI.

Team work:

  • I learned to collaborate in an open-source project and successfully communicated with other members and helped solve their problems.
  • I circumvented integration obstacles and focused on things that can make progress.
  • While working with the team, I realized breaking tasks down into small modules was more efficient and accomplished my goals by working on them one by one.

The exciting part of this project is that it can help new users of Hyperledger blockchain frameworks get an intuitive understanding of their project performances. This will make all blockchain and Hyperledger technologies more approachable for users and developers!

What comes next­­

From here, there are many next steps to come for both me and this project.  I’m now looking for a full-time opportunity that can let me apply everything I learned in college and  from Hyperledger to the FinTech, blockchain, and machine learning industries. My goal is to make the world more efficient.

Technological Improvements I envision for the Caliper GUI include:

  • Dockerizing the GUI, which includes server, client, and database.
  • Using Electron JS package to make this GUI a desktop application.
  • Using Redux to build global state tree in the GUI front end, so that the variable states and visualization are absolutely real-time connected with the backend data flow from server and caliper-core.
  • Open source the GUI and get more contributions from the world.

For more of the Hyperledger Caliper GUI, read my full summer project report here.