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
In progress
July 8 - July 19

Design iterations

  • Revisiting the design and discussing with mentors

July 22 -August 2

Start of the implementation

  • Start integrating code between FPC and CC-tools

July 22 -  July 26

1st quarter mentee evaluation 


August 2 - August 23

Complete Implementation

  • Finalize integrating FPC with CC-tools

August 26 - September 6

Testing, refactoring

  • Add unit testing for CC-tools working with FPC

September 2 - September 6Midterm Evaluation
September 9 - September 20

Testing, refactoring

  • Unit testing and integration testing

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 183rd 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




  • No labels