Cryptocurrency node update guide

Cryptocurrency nodes have to be updated regularly throughout the deployment lifetime to always stay on the right chain of the network and to have the latest security updates and improvements.

Host-based installation

To update your systemd-based cryptocurrency node installation, go through the following steps: 1. Create a snapshot/backup of the cryptonode data disk 2. Install the desired version of the cryptonode binary 3. Replace the old binary with the new one(e.g. mv parity /usr/local/bin) 4. Restart the service(systemctl restart parity) 5. Check if the node is synchronizing(either by JSON RPC calls or by using journalctl -xefu parity) 6. Check if the node balance is left intact

Compose-based installation

Compose-based installations are similar to SSD ones in terms of the upgrade path: 1. Create a backup of the Docker volume/host path which contains the cryptonode data 2. Change the cryptonode image tag to a desired one in your Compose templates 3. Recreate the cryptonode service(e.g. docker-compose up -Vd parity) 5. Check if the node is synchronizing(either by JSON RPC calls or by running docker-compose logs -f parity) 6. Check if the node balance is left intact

Kubernetes-based installation

Kubernetes-based cryptonode installations are usually managed by OPEX: 1. Create a backup of the PersistentVolume or a host path which contains the cryptonode data 2. Change the cryptonode image tag to a desired one in your cryptonode.yml config file 3. Upgrade the cryptonode deployment by running ./bin/opex deps install *cryptonode* 5. Check if the node is synchronizing(either by JSON RPC calls or by running kubectl logs -n *deployment_id*-backend *cryptonode_pod_name*) 6. Check if the node balance is left intact

Notes

  • Always prepare cryptonode storage backups before doing any maintenance operations. Otherwise, funds on the node may be lost!
  • In some cases the cryptonode may not repair the blockchain itself in case of a fork on the network To mitigate this, you can simply restart the node with a reindex flag when available or even access the node filesystem to the clear the blockchain and let it resynchronize.