Validator Node Migration

Video Tutorial


There are quite a number of reasons why moving to another node might be required including the need to increase performance, upgrade storage or your node goes down. This guide will walk you through the steps needed to migrate from one node to another.

Create your new node

You can use any of the following guides to setup a new node:
Make sure your new node is set up and fully synchronized before doing the migration.

Backup required files

In order to migrate or restore your validator node you need to have a backup of the following files located in the config folder (generally found at “~/.sifnoded/config”):
  • priv_validator_key.json
  • node_key.json
From your local machine you can execute the following commands to copy from the node to your local machine:
  • scp @:~/.sifnoded/config/priv_validator_key.json /<path on local machine>/priv_validator_key.json
  • scp <username>@<IP address of node>:~/.sifnoded/config/node_key.json /<path on local machine>/node_key.json
It goes without saying that you should make sure to backup the “mnemonic” used to create your validator node as this is needed to edit the details of the node and claim commissions earned among other transactions linked to the node.
Other files that you might want to backup if you’ve made changes that you might need to copy to the new node:
  • config/config.toml
  • config/app.toml
Please note: Never run the same “priv_validator_key.json” file on different nodes simultaneously as this will allow for double signing and your node will be jailed permanently.

Migrate to new node

Before executing the following actions make sure the new node is fully synchronized.

Stop Cosmovisor service on the old node

Execute the required command to stop the cosmovisor service on the node you are moving away from. Double check to make sure that the service has stopped. An additional precautionary change could be to rename “priv_validator_key.json” to “priv_validator_key.json_backup”. Check mintscan to make sure the node is no longer signing blocks.

Move backed up files to new node

Stop the “Cosmovisor” service on the new node. Double check that the service is no longer running. Once stopped, the node should not be able to sign blocks which should be visible on the Mintscan block explorer. Backup the “priv_validator_key.json” and “node_key.json” files and replace them with the respective files from the old node. If the backed up files are stored on your local machine you can execute the following to copy the files to your new node:
  • scp /<path on local machine>/priv_validator_key.json <username>@<IP address of node>:~/.sifnoded/config/priv_validator_key.json
  • scp <username>@<IP address of node>:~/.sifnoded/config/node_key.json /<path on local machine>/node_key.json
If changes were made to the “/.sifnoded/config/config.toml” and “/.sifnoded/config/app.toml” files then you can edit those files and make the required changes.
Once all required files are updated, restart the “Cosmovisor” service. You should be able to check the block explorer to see if the node is now signing blocks.

Add Keys to new Node

Backup the “keyring-sifchain” folder on the new node as this will be replaced by the command below. Run the following command to add the keys from the old server Keyring:
sifnoded keys add --recover
You will be asked for the mnemonic used with the old node. Paste the mnemonic and click enter and you can now use this keyring file to execute your transactions.