How to move node using snapshot

This can be done on all node types, including validator node (VN), validator fullnode (VFN) and public fullnode (PFN).

Hi guys, today I am going to tell you how to start validator node using snapshot, this is really useful when you need to move a node to another server.

By default, nodes are configured for fast synchronization. The last state of the chain is reached in about 15-30 minutes. You may need a database that includes a larger amount of data stored in a snapshot (time for downloading and unpacking at least 2 hours. Size ~400GB)

Set var

It is assumed that you have already done the initial preparation of the server, including installing the docker, configuring the firewall, etc.

Change "alice" to your username

echo export USERNAME=alice >> $HOME/.bash_profile
echo export WORKSPACE=mainnet >> $HOME/.bash_profile
source $HOME/.bash_profile
mkdir ~/$WORKSPACE
cd ~/$WORKSPACE
sudo apt-get install lz4

Create database directory

The folder with the database must be in the folder where the container will be created at start, by default this is /var/lib/docker/volumes/

If you have changed the root directory of the docker, you should use the directory you use

You can check it with the command:

docker info|grep "Docker Root Dir"

For VFN:

mkdir -p /var/lib/docker/volumes/aptos-fullnode/_data/

For Validator:

mkdir -p /var/lib/docker/volumes/aptos-validator/_data/

Download snapshot

You can use one of the options of your choice: 1. Bwarelabs: https://bwarelabs.com/snapshots/aptos 2. Polkachu: https://polkachu.com/aptos_snapshots/aptos Check the latest snapshot on their website before proceeding to the next step

wget https://snapshots.bwarelabs.com/aptos/mainnet/aptos20240501.tar.lz4

Decompress the archive to workspace directory:

lz4 -c -d aptos20240501.tar.lz4 | tar -x -C ~/$WORKSPACE

Then move files to data directory:

For VFN:

mv ~/$WORKSPACE/data/* /var/lib/docker/volumes/aptos-fullnode/_data/

For Validator:

mv ~/$WORKSPACE/data/* /var/lib/docker/volumes/aptos-validator/_data/

Download the files needed to run VFN or Validator

Remember to change the IP to the new one in the configuration file ~/$WORKSPACE/alice/operator.yaml

Start your node

VFN:

cd ~/$WORKSPACE && docker-compose -f docker-compose-fullnode.yaml up -d

OR

Validator:

cd ~/$WORKSPACE && docker-compose up -d

Update on-chain network addresses and update on-chain consensus key (only for Validator)

Change <pool-address> to your pool-address

aptos node update-validator-network-addresses  \
  --pool-address <pool-address> \
  --operator-config-file ~/$WORKSPACE/$USERNAME/operator.yaml \
  --profile mainnet-operator
aptos node update-consensus-key  \
  --pool-address <pool-address> \
  --operator-config-file ~/$WORKSPACE/$USERNAME/operator.yaml \
  --profile mainnet-operator

All done. Now you can check the connection your node https://aptos.dev/nodes/validator-node/operator/node-liveness-criteria

Delete the downloaded archive to save space

rm -v aptos20240501.tar.lz4

More information can be found here

Last updated