{% hint style="danger" %} Ensure you backup your validator before you migrate it. Do not forget! {% endhint %}
Run A Full Node On A New Machine
If you don't have the mnemonics saved, you can back it up with:
# from the validator machine
secretd keys export mykeyThis prints the private key to stderr, you can then paste in into the file mykey.backup.
To check on the new full node if it finished catching-up:
# on the new full node
secretd status | jq .SyncInfo
# expected output should be similar to:
{
"latest_block_hash": "EEE123FB3679525B7603B91CDB654879EA25375865AC58DC275C562E2EC07A5A",
"latest_app_hash": "8BC5C45BA7D049F32D999AF8E9D8346BCD8B7A4DB958EA6B2C5322B96971DB95",
"latest_block_height": "3944928",
"latest_block_time": "2022-06-20T19:16:30.14988796Z",
"earliest_block_hash": "76BA3679B642D2FFB5ED967A241021C73D2B2058F42792FCD1ACAC9D64C87603",
"earliest_app_hash": "05F67C619449262C8898D533B91A6FEAAB5F5652FB45EB5AFE1E972402B8EDF0",
"earliest_block_height": "3344001",
"earliest_block_time": "2022-05-11T15:32:59.767672375Z",
"catching_up": false
}{% hint style="warning" %}
Only continue if catching_up is false
{% endhint %}
{% hint style="danger" %} To prevent double signing, you should stop the validator node before stopping the new full node to ensure the new node is at a greater block height than the validator node. {% endhint %}
Please read about the dangers in running a validator.
# on the validator node
sudo systemctl stop secret-nodeThe validator should start missing blocks at this point. This is the desired behavior!
On the validator node, the file is ~/.secretd/config/priv_validator_key.json.
You can copy it manually or for example you can copy the file to the new machine using ssh:
# on the validator node/old machine
scp ~/.secretd/config/priv_validator_key.json ubuntu@new_machine_ip:~/.secretd/config/priv_validator_key.jsonAfter being copied, the key (priv_validator_key.json) should then be removed from the old node's config directory to prevent double-signing if the node were to start back up.
# on the validator node/old machine
mv ~/.secretd/config/priv_validator_key.json ~/.secretd/bak_priv_validator_key.json# on the new machine/new validator
sudo systemctl restart secret-nodeThe new node should start signing blocks once caught up.