Skip to main content

Update Aptos Validator Node via Failover

You will likely have to upgrade or replace your validator node (VN) at some point, such as for maintenance or outages. Start anew by creating a new validator fullnode (VFN). To minimize downtime, we recommend you then convert your live validator fullnode to your validator node, and backfill the validator fullnode.

Since you are already running a validator node and a validator fullnode, you have at your fingertips the means to replace your validator node immediately. Simply convert your validator fullnode to a validator node and then backfill the validator fullnode with either the updated validator node or an entirely new validator fullnode.

This page explains how to make this swap, which largely amounts to switching out files and configuration settings between the two nodes. For a community-provided version of this document for Docker setup, see Failover and migrate Validator Nodes for less downtime.

Prepare

First, understand the data is almost identical between the two nodes. The VFN is missing the consensus_db and secure-data.json, but it is otherwise largely ready for conversion into a validator node.

To failover from an outdated or erroneous validator node to an updated and reliable validator fullnode, follow these steps:

  1. Ensure your machine meets the validator hardware requirements.
  2. Update your validator fullnode with the latest version of the:
  3. Copy the configuration files between the two nodes. See the files in the validator setup documentation you used for the full list.

Failover

To replace the validator node:

  1. Update DNS to swap the node network addresses on-chain.
  2. Turn down the validator node and validator full node intended to replace the validator.
  3. Restart the former validator full node with the validator node configuration.
  4. Observe that before DNS changes take effect that only outbound connections will form.
  5. Either reuse the former validator node or create anew to backfill the validator fullnode.
  6. Start the validator fullnode.
  7. Use Node Health Checker and follow Node Liveness Criteria to ensure the validator node is functioning properly.