2022 Q1 Hyperledger Fabric
Hyperledger Fabric https://github.com/hyperledger/fabric
Project Health
Hyperledger Fabric is fairly mature and stable with a Long-term support (LTS) release and incremental new features being added in minor releases. There is less churn and fewer commits than in years past, with continued focus on quality and support. New features get proposed, approved, and implemented based on a community RFC process. Mailing list activity is down compared to prior years. PRs and mailing list questions are generally turned around quickly.
Required Information
- Have you switched from master to main in all your repos? Yes
- Have you implemented the Common Repository Structure in all your repos? Yes
Questions/Issues for the TSC
None.
Releases
v2.2 is the current LTS releases with patch releases approximately quarterly.
Releases past quarter:
- v2.2.4 - September 8, 2021
- v2.3.3 - September 8, 2021
- v2.4.0 - November 29, 2021
- v2.4.1 - December 17, 2021
Additionally, SDKs are regularly patched, most notably Java SDK v2.2.11 to update log4j and address the log4j December vulnerability.
Upcoming releases:
- v2.2.5 - Update to Go 1.17
- v2.4.2 - Update to Go 1.17
- v2.5.0 - Expected to be next LTS release
Overall Activity in the Past Quarter
The project delivered v2.4.0 with two significant new features:
- Fabric Gateway - The Fabric Gateway will remove much of the transaction submission and query logic from the client application and shift it to a common gateway running within the Fabric peer, enabling each of the various client SDKs to be slimmer, more consistent, and require less maintenance. Applications will interact with a trusted peer (e.g. at their organization) and the peer will coordinate endorsements from other peers and submission to the ordering service. It will also simplify the administrative overhead of running a Fabric network because client applications will be able to connect and submit transactions via a single network port at their organization rather than the current situation where ports have to be opened from a client application to multiple peers across potentially multiple organizations. The Fabric Gateway is delivered along with slim SDKs in the https://github.com/hyperledger/fabric-gateway repository.
- Peer unjoin - The new command "peer node unjoin" enables an administrator to remove (unjoin) a channel from a peer.
The peer must be stopped when the command is executed so that channel artifacts can be cleaned up.
The channel's blockchain, state database, and associated entries will be removed from the peer.
When the peer is restarted it will no longer receive blocks for the channel.
v2.4.1 also added an external builder for 'chaincode as a service' to the fabric-peer docker image that makes deployment to Kubernetes environments simpler.
For more details on v2.4 see the What's New documentation.
Additionally the project has been planning future work through the RFC process.
RFCs merged this quarter:
- Purge Private Data
Other RFCs are in review with recent discussions surrounding SmartBFT, OpenTelemetry tracing, and module crypto service.
Finally, new project samples have been added to help users get up to speed and deploy Fabric:
- Asset transfer samples with new Gateway SDK - https://hyperledger-fabric.readthedocs.io/en/latest/write_first_app.html
- Advanced REST sample demonstrating good practices for interacting with a Fabric network - https://github.com/hyperledger/fabric-samples/tree/main/asset-transfer-basic/rest-api-typescript
- Kubernetes Test Network - https://github.com/hyperledger/fabric-samples/tree/main/test-network-k8s
Current Plans
Releases
The project is working on a v2.5.0 release with a feature to Purge the history of private data. The feature may help organizations meet GDPR requirements with the ability to delete private data while preserving a hash of the data on the blockchain.
Discussion about a future Fabric v3.0 release was kicked off at the January 5th contributor meeting. The proposal is to refactor some Fabric components so that new features can be more easily added on top, most notably a proposed BFT ordering service. For more details see the recording at Contributor Meetings 2022.
Documentation
We plan to resume the Fabric community documentation meetings and update Fabric documentation in the following areas:
- Developing Applications with new Gateway SDKs
- Certificate management (expirations, renewals)
Performance
Update Caliper client for Fabric.
Maintainer Diversity
No changes. 6 of 11 maintainers of core Fabric from IBM.
Contributor Diversity
Year to year comparison, by commit:
- Q4 2020 - 674 commits. 71% from IBM.
- Q4 2021 - 361 commits. 80% from IBM
Year to year comparison, by contributor:
- Q4 2020 - 94 contributors. 38% from IBM.
- Q4 2021 - 45 contributors. 42% from IBM.
Additional Information
Link to the Fabric dashboard: Q4 2021
Reviewed By
- Angelo de Caro
- Arnaud J LE HORS
- artem
- Arun S M
- Bobbi Muscara
- Danno Ferrin
- David Enyeart
- Grace Hartley (Deactivated)
- Hart Montgomery
- Jim Zhang
- kamlesh nagware
- Nathan George
- Peter Somogyvari
- Tracy Kuhrt
- Troy Ronda