Running nodes remotely

By default, a Cordform task will run all the generated nodes on the same host machine. In order to run the nodes remotely, you can deploy them locally and then copy them to a remote server. If after copying the nodes to the remote machine you encounter errors related to a localhost resolution, you should follow the additional steps below.

To create nodes locally and run on a remote machine, perform the following steps:

  • Configure a Cordform task and deploy the nodes locally as described in Creating nodes locally and Cordform pages.
  • Copy the generated directory structure to a remote machine, for example using Secure Copy.
  • Optionally, add database configuration settings if they could not be configured in the first step and the local machine does not have access to the remote database.
    • In each top-level [NODE NAME]_node.conf configuration file, add the database settings and copy the JDBC driver JAR file (if required).
    • Edit the top-level [NODE NAME]_node.conf files only and not the files inside the node sub-directories (for example, node.conf).
  • Optionally, bootstrap the network on the remote machine. This is an optional step when a remote machine does not accept localhost addresses, or if the generated nodes are configured to run on another host’s IP address. If needed, change the host addresses in the top-level configuration files [NODE NAME]_node.conf for entries p2pAddress, rpcSettings.address, and rpcSettings.adminAddress. Run the network bootstrapper tool to regenerate the nodes network map: java -jar corda-tools-network-bootstrapper-Master.jar --dir <nodes-root-dir>. For more information, see Network bootstrapper.
  • Run nodes on the remote machine using the runnodes command.

The steps described above enable you to create the same test deployment as a deployNodes Gradle task would create on a local machine.

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.