Project Plan - Hyperledger Fabric CC-Tools Support for Fabric Private Chaincode

Project Plan - Hyperledger Fabric CC-Tools Support for Fabric Private Chaincode

Abstract

Fabric Private Chaincode (FPC) uses Confidential Computing technology like Intel SGX to protect chaincode and data during execution on endorsing peers. Client applications interact with private chaincode via the FPC Client SDK, which encrypts and authenticates invocation arguments before sending them to endorsing peers. Chaincodes can be developed in C++ or Golang.

The Hyperledger Labs CC-Tools library simplifies learning, developing, and deploying Hyperledger Fabric chaincode in Golang.

Our project aims to design and integrate FPC as a target for code developed using CC-Tools, including creating samples and documentation.

Official Repositories:

Mentor and Mentee

Mentors: Marcus Brandenburger, Maria Munaro, Samuel Venzi

Mentee: Osama Magdy

Deliverables

Design and implementation of integration of FPC into the CC-Tools
Sample applications demonstrating the use of the new CC-Tool integration
Documentation and tutorials for the new CC-Tool and FPC integration
Bonus: a technical blog post

Milestones

Eval 1:

Beta-version of the integration component 

Eval 2:

Testing, refactoring, and finalize integration

Eval 3:

Sample application for the integration

Eval 4:

All deliverables (documentation, code, sample application)

Timeline

June 3 - June 28

Onboarding

Understand the project scope and learn about both FPC and CC-tools

  • reading white papers about fabric and FPC

  • investigating cc-tools

Done

July 1 - July 5

Initial Design

  • Design the integration between FCP and CC-tools

Done

July 8 - July 19

Design iterations

  • Revisiting the design and discussing with mentors

Done

July 22 -August 2

Start of the implementation

  • Start integrating code between FPC and CC-tools

Done

July 22 -  July 26

1st quarter mentee evaluation 

Done

August 2 - August 23

Complete Implementation

  • Finalize integrating FPC with CC-tools

Done

August 26 - September 6

Testing, refactoring

  • Add unit testing for CC-tools working with FPC

Done

September 2 - September 6

Midterm Evaluation

Done

September 9 - September 20

Testing, refactoring

  • Unit testing and integration testing

Ongoing

September 23 - October 4

Evaluation

  • Evaluating the integration component and performance analysis

 

October 7 - October 18

Start with the sample application

  • Creating a sample application using integration between FPC and CC-tools

 

October 14 - October 18

3rd Quarter Evaluation

 

October 21 - November 1

Finalize the sample application

  • Finish the sample application

 

November 4 - November 15

Documentation and tutorials for CC-tools

  • Creating tutorials and documenting the integration with FPC on CC-tools repository

 

November 18 - November 29

Documentation and tutorials for CC-tools

  • Creating tutorials and documenting the integration with CC-tools on FPC repository

Project Wrap-up, Review & Feedback

  • organize a project demonstration for stakeholders to gather feedback

  • reflect on the project process, documenting lessons learned and potential improvements

  • finalize all project documentation and ensure all code and resources are well-organized and accessible

  • outline potential future enhancements and areas for further development

Final Evaluation