{% hint style="danger" %} Ensure you validator-backup.md 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 mykey
This 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 .sync_info
# 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-node
The 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.json
After 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-node
The new node should start signing blocks once caught up.