Corda Enterprise cloud images

Corda Enterprise is available as a Virtual Machine image on AWS and Azure. These are simple Linux VM images with a JDK supported by both cloud providers and Corda Enterprise. Alongside the Corda Enterprise JAR the image contains an example node.conf file and dbconfig.conf file for H2 DB. There is also the systemd service (called corda) ready to use.

Follow the standard Azure procedure to create a VM. You can find more details at the Azure docs site: https://docs.microsoft.com/en-us/azure/virtual-machines/linux/. Please select a VM type with more than 4GB of memory.

When the machine is ready, please log in to it using the credentials provided during deployment.

Next, change the session user to corda (alternatively, change the user to root to gain administrator privileges):

sudo -u corda bash

Go to the Corda installation directory:

cd /opt/corda/current

Review and adjust the content of the configuration files to your needs. The main configuration file is the node.conf file and database specific configuration is stored in the dbconfig.conf file. All Corda configuration parameters are described in Node configuration. Remember to adjust the p2paddress to match a FQDN or the public IP address of the VM. The public IP address can be obtained from the shell using the following command:

curl -H Metadata:true http://169.254.169.254/metadata/instance?api-version=2017-04-02| jq '.network.interface[0].ipv4.ipAddress[0].publicIpAddress'

Note that only the p2p port (10002) is opened by default in a Network Security Group attached to the VM. To enable RPC communication from a remote machine the firewall has to be adjusted.

For proudction usage, copy the required database drivers (e.g. Azure DB) into the drivers directory. More information on database configuration can be found at node-database

Copy the selected CorDapps into the cordapps directory and their configuration to the cordapps/config subdirectory.

Copy the network root trust store for a Corda network you plan to join into the certificates directory.

Start the initial registration process with:

java -jar corda.jar initial-registration -p <PASSWORD_FOR_NETWORK_ROOT_TRUSTORE>

After the node has registered, verify that all files in the /opt/corda/current directory (and its subdirectories) are owned by the corda user. Then the systemd corda service can be started.

exit #to leave corda user shell
sudo chown -R corda:corda /opt/corda/current # to change file ownership
sudo systemctl start corda

You can check the status of the corda service by running:

sudo systemctl status corda

Follow the standard AWS procedure to install VM. You can find more details at the AWS docs site: https://aws.amazon.com/getting-started/tutorials/launch-a-virtual-machine/. Please select a VM type with more than 4GB of memory.

When the machine is ready, please log in to it using the credentials provided during deployment.

Next, change the session user to corda (alternatively, change the user to root to gain administrator privileges):

sudo -u corda bash

Go to the Corda installation directory:

cd /opt/corda/current

Review and adjust the content of the configuration files to your needs. The main configuration file is the node.conf file and database specific configuration is stored in the dbconfig.conf file. All Corda configuration parameters are described in Node configuration. Remember to adjust the p2paddress to match a FQDN or the public IP address of the VM. The public IP address can be obtained from the shell using the following command:

curl http://169.254.169.254/latest/meta-data/public-ipv4

Note that only the p2p port (10002) is opened by default in a Security Group attached to the VM. To enable RPC communication from a remote machine the firewall has to be adjusted.

For proudction usage, copy the required database drivers into the drivers directory. More information on database configuration can be found at node-database

Copy the selected CorDapps into the cordapps directory and their configuration to the cordapps/config subdirectory.

Copy the network root trust store for a Corda network you plan to join into the certificates directory.

Start the initial registration process with:

java -jar corda.jar initial-registration -p <PASSWORD_FOR_NETWORK_ROOT_TRUSTORE>

After the node has registered, verify that all files in the /opt/corda/current directory (and its subdirectories) are owned by the corda user. Then the systemd corda service can be started.

exit #to leave corda user shell
sudo chown -R corda:corda /opt/corda/current # to change file ownership
sudo systemctl start corda

You can check the status of the corda service by running:

sudo systemctl status corda

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.