Corda Enterprise Operations Guide

A deployment of Corda Enterprise requires a variety of machines and resources depending on the role of each member of the Corda project, and the architecture of the deployment. It’s important to define the role your organisation will play before beginning a project on Corda.

Whether you are planning to build CorDapps for other organisations to use, or you are planning to take responsibility for a network as a Business Network Operator, you should get a good idea of the work and responsibilities of other enterprise users so you can see where you fit in. Keep in mind that some organisations may perform multiple roles on their network.

In a Corda network, the same CorDapp must be deployed to all nodes that wish to transact with one another. CorDapps may be developed by a member of the business network, by the Business Network Operator, or by an entirely external organisation.

When developing CorDapps, an organisation should bear in mind the platform support matrix and the guidance on developing CorDapps.

To test CorDapps, use the network bootstrapper tool to quickly create Corda networks to test that the CorDapp performs as expected.

A member of a Corda business network has a variety of considerations:

Deployment architecture

The architecture of the specific Corda deployment will change the resources required for an ongoing deployment, but for a production deployment, a node should have an HA implementation of the Corda Firewall, and an HSM compatible with the security policy of the organisation.

Testing environments

A node operator should operate or have access to a testing network, a UAT network, and their production network.

UAT and production networks should include a node, HA firewall, and an HSM, although it may not be necessary for more informal testing environments. In some cases, a Business Network Operator will provide access to a UAT environment that node operators may connect to.

The Business Network Operator is responsible for the infrastructure of the business network, they maintain the network map and identity services that allow parties to communicate, and - in many deployments - also operate the notary service.

Deployment architecture

The Business Network Operator is responsible for all major components of the Corda network. In most enterprise deployments of Corda this includes: Nodes, an HA notary cluster, an HA Corda Firewall, an HSM, the certificate hierarchy of the network, identity manager, and network map.

This likely includes a Corda Enterprise Network Manager as well as Corda Enterprise.

Development and testing environments

A Business Network Operator should have a variety of environments:

  • A development environment including minimum network infrastructure.
  • A testing environment including a basic network, without HA notary, Corda Firewall, or HSMs.
  • A UAT environment, that includes the full network infrastructure, with a shared HSM, and HA Corda Firewall.
  • The production environment, including an HA notary cluster, HA Corda Firewalls on all nodes, HSMs, and network services.

Was this page helpful?

Thanks for your feedback!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.

We're sorry this page wasn't helpful. Let us know how we can make it better!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Create an issue

Create a new GitHub issue in this repository - submit technical feedback, draw attention to a potential documentation bug, or share ideas for improvement and general feedback.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.