Updating the dHealth Node

This page will help you update your running dHealth Network Node.

Update instructions

This document is aimed at node operators that are running dHealth Network nodes.

👍

Quick Links

Maintenance needs with our nodes is kept to a minimum but there is a couple key aspects that need to be understood when running a node:

  • Nodes communicate using a secure TLS context and therefore require SSL Certificates, these must be updated every year (375 days).
  • Nodes that have finalization voting enabled must update voting keys every 6 months.

In case you are already running a node for our network, it may be that some of your keys are due to expire soon. We have released an updated version of yourdlt so that you can address this issue with your nodes.

Follow the below steps to update your node's keys as necessary.

🚧

Requirements

  • Find out the location of the node's target folder, e.g. /opt/dhealth/dual-node
  • Find out the location of the node's custom configuration preset, e.g. /opt/dhealth/dual_config.yml

Note that in these notes, we will be referring to the above filesystem paths, respectively as: $TARGET_PATH and $CONFIG_PRESET.

Now that we have determined the filesystem paths (locations) to the node, the target folder and the custom configuration preset, we can start with the update process.

Update the node configuration

The dHealth Network Node configuration includes a few changes that are related to finalization voting and SSL certificates that are created for every node of the network.

🚧

Stop your node

Make sure to stop your node before updating the configuration.

yourdlt stop -t $TARGET_PATH

:information-source: Note that if you do not specify a target folder parameter -t, it will automatically use a folder named target/ in your current working directory.

📘

Find out which assembly you are running

You can find out the assembly that you are running by executing the following command:

cat $TARGET_PATH/preset.yml | grep assembly

The above shall respond with one of: dual, peer, voter or api. This represents the assembly that your node is currently operating.

📘

Update the node configuration

npm install -g [email protected]

:warning: In the next command, make sure to replace -a dual with the correct assembly that was used when configuring your node, also it is important that $TARGET_PATH and $CONFIG_PRESET map to the correct values as mentioned before.

yourdlt config -t $TARGET_PATH -p dhealth -a dual -c $CONFIG_PRESET --upgrade

:information-source: Note that if you did not use a custom configuration preset, you may omit the -c $CONFIG_PRESET parameter.

The above commands shall respond with a message that mentions the update of configuration and also lists information about the node's main account, amongst other information.

Renewal of SSL certificates

You can now continue to this next step which will update your node's SSL certificates for the next year. This command must be run once a year and can be executed up to 30 days before the expiration of certificates. If you execute this command outside of this period, it will only display the expiration date.

📘

Update SSL certificates

yourdlt renewCertificates -t $TARGET_PATH --force

:information-source: Note that if you do not specify a target folder parameter -t, it will automatically use a folder named target/ in your current working directory.

The above command shall respond with a message that also displays the certificate expiration date. Please, make sure to note this down to make sure that you are aware of upcoming update occurrences.

Update of finalization voting keys

Please, note that you only need to update finalization voting keys if your node is actually voting for finalization. If it is the case, you should find voting: true in your custom configuration preset file dual_config.yml.

📘

Update of Finalization Voting Keys

yourdlt updateVotingKeys -t $TARGET_PATH

:warning: The above command will interactively ask you whether you want to unlink the previous voting keys. Please, do not unlink the previous voting keys.

After having executed the above command, note that you must also execute the following command:

yourdlt link -t $TARGET_PATH --url http://dual-03.dhealth.cloud:3000 --maxFee 100000

Restart the node operations

Now that you have updated your configuration and renewed your SSL certificates, you can safely restart the node operations.

📘

Restart your node

After having successfully executed the above list of commands, you can safely restart your node operations:

yourdlt run -t $TARGET_PATH -d