What’s new in v1.4¶
Hyperledger Fabric has matured since the initial v1.0 release, and so has the community of Fabric operators and developers. The Fabric developers have been working with network operators and application developers to deliver v1.4 with a focus on production operations and developer ease of use. The two major release themes for Hyperledger Fabric v1.4 revolve around these two areas:
- Serviceability and Operations: As more Hyperledger Fabric networks get deployed and enter a production state, serviceability and operational aspects are critical. Fabric v1.4 takes a giant leap forward with logging improvements, health checks, and operational metrics. Along with a focus on stability and fixes, Fabric v1.4 is the recommended release for production operations. Future fixes will be delivered on the v1.4.x stream, while new features are being developed in the v2.0 stream.
- Improved programming model for developing applications: Writing decentralized applications has just gotten easier. Programming model improvements in the Node.js SDK and Node.js chaincode makes the development of decentralized applications more intuitive, allowing you to focus on your application logic. The existing npm packages are still available for use, while the new npm packages provide a layer of abstraction to improve developer productivity and ease of use.
Serviceability and operations improvements¶
- The Operations Service:
The new RESTful operations service provides operators with three
services to monitor and manage peer and orderer node operations:
- The logging
/logspecendpoint allows operators to dynamically get and set logging levels for the peer and orderer nodes.
/healthzendpoint allows operators and container orchestration services to check peer and orderer node liveness and health.
/metricsendpoint allows operators to utilize Prometheus to pull operational metrics from peer and orderer nodes. Metrics can also be pushed to StatsD.
- The logging
Improved programming model for developing applications¶
The new Node.js SDK and chaincode programming model makes developing decentralized applications easier and improves developer productivity. New documentation helps you understand the various aspects of creating a decentralized application for Hyperledger Fabric, using a commercial paper business network scenario.
- The scenario: Describes a hypothetical business network involving six organizations who want to build an application to transact together that will serve as a use case to describe the programming model.
- Analysis: Describes the structure of a commercial paper and how transactions affect it over time. Demonstrates that modeling using states and transactions provides a precise way to understand and model the decentralized business process.
- Process and Data Design: Shows how to design the commercial paper processes and their related data structures.
- Smart Contract Processing: Shows how a smart contract governing the decentralized business process of issuing, buying and redeeming commercial paper should be designed.
- Application Conceptually describes a client application that would leverage the smart contract described in Smart Contract Processing.
- Application design elements: Describes the details around contract namespaces, transaction context, transaction handlers, connection profiles, connection options, wallets, and gateways.
And finally, a tutorial and sample that brings the commercial paper scenario to life:
- Commercial paper tutorial As mentioned above, this is the tutorial that accompanies the new Developing Applications documentation.
- Upgrading to the Newest Version of Fabric: Leverages the network from Building Your First Network to demonstrate an upgrade from v1.3 to v1.4. Includes both a script (which can serve as a template for upgrades), as well as the individual commands so that you can understand every step of an upgrade.
Private data enhancements¶
- Private Data:
The Private data feature has been a part of Fabric since v1.2, and this release
debuts two new enhancements:
- Reconciliation, which allows peers for organizations that are added to private data collections to retrieve the private data for prior transactions to which they now are entitled.
- Client access control to automatically enforce access control within chaincode based on the client organization collection membership without having to write specific chaincode logic.