Support Decentralized Governance for Smart Contracts in Fabric Python SDK
Description
With the introduction of Fabric v2.x, a more decentralized way of chaincode management is implemented. There are several improvements over the previous lifecycle and it requires several changes on the sdk. This project aims to support decentralized governance for smart contracts in fabric python sdk and add features such as private data sharing/verifying and external chaincode launcher. The projects will provide a user-friendly and easy-to-use tool for fabric developers and operators.
Additional Information
The wiki is Hyperledger Fabric SDK Py and rocketchat https://chat.hyperledger.org/channel/fabric-sdk-py
Related Github Issue: https://github.com/hyperledger/fabric-sdk-py/milestone/2
Fabric Python SDK Documentation: https://fabric-sdk-py.readthedocs.io/en/latest/
Learning Objectives
- Contributing and collaborating in an open-source project
- Advanced understanding for DLT(distributed ledger technology)
- Understand the basic workflow of fabric
- Being able to implement features for SDK
- Writing good documentations
Expected Outcome
- Update on the chaincode lifecycle management
- Multiple organizations must agree to the parameters of a chaincode
- Deliberate chaincode upgrade process
- Simpler endorsement policy and private data collection updates
- Inspectable chaincode packages
- Start multiple chaincodes on a channel using one package
- Chaincode packages do not need to be identical across channel members
- Add private data sharing & verifying features
- (Optional) Add features for writing smart contracts in python
Relation to Hyperledger
This project's major codebase change is related to Hyperledger Fabric SDK v2.x which operates the Hyperledger cluster.
Education Level
Undergraduate or graduated student with developing experience preferred.
Skills
- Python 3.6+
- Basic DLT/Blockchain knowledge
- Basic understanding of Hyperledger Fabric
- Basic understanding of smart contracts/chaincode
Future plans
This project will give developers more choices for developing Hyperledger Fabric and help to bridge the Python community.
Preferred Hours and Length of Internship
Part-time (20 hours a week for 24 weeks starting in summer and ending in winter)
Mentor(s) Names and Contact Info
- Dixing Xu , dixingxu@gmail.com, rocketchat: dexhunter
- Baohua Yang , yangbaohua@gmail.com, rocketchat: baohua
- GuillaumeCisco , guillaumecisco@gmail.com, rocketchat: GuillaumeCisco
- MichaelWang , xdragon007@gmail.com, rocketchat: wangdong
Mentee
Kiv (Qiwen) Chen, University of Liverpool, sdckivenchen@gmail.com
Project Results
Updated Fabric Python SDK documentations: https://fabric-sdk-py.readthedocs.io/en/latest/
Relevant Repository: https://github.com/hyperledger/fabric-sdk-py