Corda and Corda Enterprise 4.6 and Corda Enterprise Network Manager 1.4 — Fall Unveiling

October 01, 2020

We are happy to announce another quarterly release from the engineering team at R3. In this short 3-month cycle, the R3 engineering team managed to submit and merge over 800 pull requests — a truly amazing feat, especially considering every single engineer was working from home. Announcing the Q3 release of — Corda, Corda Enterprise, and Corda Enterprise Network Manager.

As mentioned in the Corda 4.6. Beta blog post, the release is centered around:

  • Flow management
  • Membership & network improvements
  • Improvements for developers

Let’s take a more detailed look.

Corda 4.6

Corda is packed with new features and enhancements, continuing our mission of being the go-to open core blockchain platform built for business.

Support for Membership Representation

We are introducing a new primitive CorDapp, Business Networks Extension. This new primitive app will help CorDapp developers represent membership attestations, membership lists, and, ultimately, Business Network abstractions. The release also introduces new APIs, in the form of a CordaService that is part of the extension CorDapp. With the purpose of managing the lifecycle of a membership attestation and showcasing best practices to managing memberships, driving entitlements, and setting granular privacy and permissioning within your business network.

Starting Flows with Client Identifiers

Prevention of duplicate flow begins by allowing the use of unique client IDs when starting flows. Flows started with a client ID will be de-duplicated, preventing them from being incorrectly executed multiple times.

This release also adds:

  • Automatic detection of unrestorable checkpoints
  • Custom serializer registration for flow checkpoints improvements to flow state machine resiliency
  • Critical security improvements

Find Corda 4.6 here: https://github.com/corda/corda/tree/release/os/4.6

Corda Enterprise 4.6

The Corda Enterprise release continues to focus on building its market leading resilience, performance, security, and operational features.

Flow Management

Corda’s unique ability to orchestrate workflows between network participants can become complicated and often leaves CorDapp developers to solve this with their own code. As a culmination of 9 months’ work from the engineering team, the 4.6 release vastly simplifies the management of in process workflows.

The primary improvement is the ability to now query, filter, and inspect flow checkpoints via shell/RPC. This feature gives node operators the capability to remotely retrieve rich information on a running flow like start time, progress step reached and the parameters passed to invoke in-process flows and manage their execution. Users can query flows and obtain information from a number of filtering criteria such as progress step or CorDapp.

Flow management improvements also include:

  • The capability to retry flows without restarting the node and the ability to reconnect reliably to a flow, pause, and resume it
  • The option for node operators to mark problematic flows as “do not restart”, preventing them from being retried automatically when the node is restarted

Monitoring Ledger Statistics

The 4.6 release also brings a new utility CorDapp called LedgerGraph. It holds in memory statistics related to the Corda ledger, allowing for efficient access via flows and JMX metrics. The metrics exposed by LedgerGraph include size in bytes and depth of each transaction chain, the number of attachments referenced by each transaction chain, and whether or not all of the outputs of a transaction chain have been consumed.

Distributed Metering Client

To support operators who wish to retrieve Corda Enterprise metering data via the flow framework from a central collector node, we are releasing a standalone client for the Metering Collection CorDapp. The client can be used out of the box to retrieve metering data in JSON format from one or more nodes in a business network. No direct access to node shells is needed. If any node fails to respond, the client facilitates subsequent attempts to collect missing data.

This release also includes:

  • Eliminating the need for node downtime after change of network notaries
  • Enabling node maintenance mode to ensure that users have access to a configurable way to schedule maintenance activities
  • Integrating disaster recovery CorDapps with the new LedgerGraph solution
  • Critical security improvements, such as storing TLS keys in HSM even if running an embedded artemis/float/bridge

Download Corda Enterprise 4.6 here: http://r3.com/download-corda-enterprise

Corda Enterprise Network Manager 1.4

Last but not least, Corda Enterprise Network Manager (CENM) keeps the momentum of previous successful quarter releases. This quarter’s release is focused on improvements to existing features and expanded database support.

CENM Error Condition Knowlegde Base

CENM is adapted to the internal Corda error handling logic introduced in Corda 4.5 and Corda Enterprise 4.5 for Corda nodes. As a result, exceptions are now treated as CENM error codes and an error code is generated for each exception. The initial set of error codes are described in the new CENM error codes documentation page. This is the start of a growing error condition knowledge base which will be expanded in future releases.

Signable Material Retriever (SMR) Service Merged into Signing Service

Signable Material Retriever Service, which handled plugins for signing data, is now replaced with a plugin loading logic inside the Signing Service. Rendering SMR obsolete and making CENM deployment easier, reducing the service count by one. An asynchronous signing feature is also added to the plugin’s interface.

Here are some honorable mentions in this release:

  • Performance improvements in the Network Map Service to ensure stable operations with a large amount of active participants in a network
  • Added support for PostgreSQL 11.5
  • FARM Service is renamed to Gateway Service
  • Security improvements
  • Known bug fixes

Try Corda Enterprise Network Manager 1.4 here: https://www.r3.com/download-corda-enterprise-network-manager.

Want to learn more about building awesome blockchain applications on Corda? Be sure to visit corda.net, check out our community page to learn how to connect with other Corda developers, and sign up for one of our newsletters for the latest updates.

Ante Buterin is a Software Engineer working in R3 Engineering team. He started in Network Services team working on improvements for Corda Enterprise Network Manager (CENM), especially expanding it to support third-party CAs and building APIs for inter-service communication in 1.3. version. During the last two quarters, he focused on designing and building Business Networks functionality on Corda.

Follow Ante on LinkedIn here.