Hyperledger Fabric Gateway Support for Fabric Private Chaincode
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