2022 Q1 Hyperledger Fabric
Created by David Enyeart, last modified by Jim Zhang on Mar 10, 2022
Hyperledger Fabric https://github.com/hyperledger/fabric
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.
- 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
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.
- 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 th”at 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
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 .
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)
Update Caliper client for Fabric.
No changes. 6 of 11 maintainers of core Fabric from IBM.
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.
Link to the Fabric dashboard: Q4 2021
- ✅ Angelo De Caro
- ✅ Arnaud J Le Hors
- ✅ Artem Barger
- ✅ Arun S M
- ✅ Bobbi Muscara
- ✅ Danno Ferrin
- ✅ David Enyeart
- ✅ Grace Hartley
- ✅ Hart Montgomery
- ✅ Jim Zhang
- ✅ Kamlesh Nagware
- ✅ Nathan George
- ✅ Peter Somogyvari
- ✅ Tracy Kuhrt
- ✅ Troy Ronda
By " We plan to resume the Fabric community documentation meetings and update Fabric documentation in the following areas ", are you saying that these would be done via new contributors from the community? If yes, that's an excellent initiative. Given that Fabric being one of the widely looked up projects under the Hyperledger Foundation, you could consider asking the community to write sample applications that makes use of Gateway SDKs. Also completes the feedback circle.
Posted by arsulegai at Jan 27, 2022 15:23
David Enyeart From the RFC https://github.com/hyperledger/fabric-rfcs/blob/main/text/0005-lts-release-strategy.md I see that upon every new LTS release, the previous releases would get deprecated in 9 months. I see in the next quarter a new LTS release (v2.5) is planned. How is this information conveyed to consumers of the project? There could be an opportunity for us to improve how these are handled, not only for Fabric but for other projects too.
Posted by arsulegai at Jan 28, 2022 09:27
Arun S M Apologies, I missed the comments previously...
In terms of documentation, we have resumed monthly documentation community meetings to discuss doc priorities, solicit volunteers, and coordinate content.
In terms of samples, the first priority is to ensure we update the showcase samples for Gateway SDKs, that effort is half done and community members can sign up for any of the remaining samples in the GitHub issue that tracks it - https://github.com/hyperledger/fabric-gateway/issues/190 , it is also tagged as a Good First Issue to help people find it.
In terms of LTS releases, we communicate updates in the Fabric contributor meeting and on the Fabric mailing list.
Posted by denyeart at Mar 10, 2022 05:07