Project Title

Hyperledger Fabric Gateway Support for Fabric Private Chaincode

Status

CLP

Primary Focus

CODING   

Description 

Fabric Private Chaincode (FPC) leverages modern Confidential Computing technology, such as Intel SGX, to enhance the protection of chaincode and their data while executed at the endorsing peers. Client applications interact with their private chaincode via the FPC Client SDK, which is responsible to encrypt and authenticate the invocation arguments before being sent to the endorsing peers. However, the FPC Client SDK currently does not support the new Fabric Gateway API that simplifies the transaction flow for the clients.

The goal of this mentorship project is the design and the implementation of the FPC Client SDK using the new Fabric Gateway API. This also includes the creation of appropriate samples and documentation. The project requires a solid understanding of theory and practice of software development using Golang, distributed systems, and security. During the project you will get hands-on experience with the deployment of Fabric networks, the transaction lifecycle, confidential computing technology.

Additional Information

Learn more about Hyperledger Fabric: https://www.hyperledger.org/use/fabric

Fabric Private Chaincode: https://github.com/hyperledger/fabric-private-chaincode

Fabric Gateway Client: https://github.com/hyperledger/fabric-gateway

Learning Objectives

  • Deep dive into Hyperledger Fabric, in particular, Fabric Private Chaincode using Confidential Computing
  • Experience an active open-source community
  • Mastering open-source workflow
  • Enhance your designing and implementing skills, testing, documentation, and project management.

Expected Outcome

  • Actively collaboration with the FPC community and contribute to the FPC github repo
  • Design and implementation of integration of the Fabric Gateway Client into the FPC Client SDK
    • Investigate the the capabilities of the Fabric Gateway Client
    • Design a FPC Client API that is compatible with the Fabric Gateway Client API
    • Implement the new FPC Client SDK
    • Test the new approach using unit-tests and integration-tests
  • Sample applications demonstrating the use of the new FPC Client SDK
  • Documentation and tutorials for the new FPC Client SDK
  • Bonus: a technical blog post
  • Having fun

Relation to Hyperledger 

Hyperledger Fabric

Hyperledger Fabric Gateway

Hyperledger Fabric Private Chaincode

Mentee Skills

The following skills are required:

  • Basic experience with git, bash, docker, linux
  • Solid understanding theory and practice of software development, distributed systems, and security
  • Intermediate experience with golang programming
  • Intermediate verbal and writing skills in English
  • Curiosity and willing to engage with the Hyperledger community

Future plans

You will have the opportunity to continue your open-source activities and to help with the development and maintenance of the Fabric Private Chaincode project or to engage with other Hyperledger projects.

Mentor(s) Names and Contact Info

Marcus Brandenburger, bur@zurich.ibm.com, https://github.com/mbrandenburger

Mark Lewis, mark_lewis@uk.ibm.com, https://github.com/bestbeforetoday

Ravi Pratap Singh, ravipratap1428@gmail.com, https://github.com/singhravipratap





4 Comments

  1. How and where to apply?

  2. [~bur] How to register for this project?Please provide link or guidelines for the same.

  3. Presentation slides of 2023 Mentorship July-Dec by Deepjyoti Sarmah