Validators
Testnet
Setup
Getting the Validator Software

Getting the Validator Software

This guide describes how to download and run Chainflip's validator software.

Download Binaries via APT Repo

Use the following commands to add Chainflip's APT Repo to your node then use apt install to get the binaries:

Adding Chainflip APT Repo

Download Chainflip GPG key from our official repo:

gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys BDBC3CF58F623694CD9E3F5CFB3E88547C6B47C6

Verify the key's authenticity:

gpg --export BDBC3CF58F623694CD9E3F5CFB3E88547C6B47C6 | gpg --show-keys

Important: Make sure you see the following output from the terminal:

pub   rsa3072/0xFB3E88547C6B47C6 2022-11-08 [SC]
    Key fingerprint = BDBC 3CF5 8F62 3694 CD9E  3F5C FB3E 8854 7C6B 47C6
uid                              Chainflip Labs GmbH <dev@chainflip.io>
sub   rsa3072/0x48249A1599E31935 2022-11-08 [E]

After that, add Chainflip's Repo to apt sources list:

gpg --export BDBC3CF58F623694CD9E3F5CFB3E88547C6B47C6 | sudo tee /etc/apt/trusted.gpg.d/chainflip-perseverance.gpg
echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/chainflip-perseverance.gpg] https://repo.chainflip.io/perseverance/jammy jammy main" | sudo tee /etc/apt/sources.list.d/chainflip.list

Installing The Packages

sudo apt update
sudo apt install -y chainflip-cli chainflip-node chainflip-engine

Disable Automatic Updates

Automatic updates are generally a good idea for keeping your system secure and up to date. However, for a Chainflip binaries, it is recommended to disable automatic updates to avoid interrupting operations when an update has breaking changes that need coordination with the rest of the network.

sudo apt-mark hold chainflip-cli chainflip-node chainflip-engine

Downloading Latest Chaindata Snapshot

First, download the latest chaindata snapshot and unpack it to the correct location.

 
mkdir -p /etc/chainflip/chaindata/chains/Chainflip-Perseverance/
 
wget https://snapshots.chainflip.io/perseverance/cf_chaindata_pruned_paritydb.tar.{gz.sha512.asc,gz.sha512,gz}
 
# Verify the snapshot (Optional but recommended)
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 52535A03E3E0D0F29920EF94927F07FF64652243
 
gpg --verify cf_chaindata_pruned_paritydb.tar.gz.sha512.asc cf_chaindata_pruned_paritydb.tar.gz.sha512
 
sha512sum -c cf_chaindata_pruned_paritydb.tar.gz.sha512
 
tar -xzf ./cf_chaindata_pruned_paritydb.tar.gz -C /etc/chainflip/chaindata/chains/Chainflip-Perseverance/
 
rm -f ./cf_chaindata_pruned_paritydb.tar.{gz.sha512.asc,gz.sha512,gz}

After that, create a systemd override file for the chainflip-node service to use the correct parameters in order for the snapshot to be used.

sudo mkdir -p /etc/systemd/system/chainflip-node.service.d && \
sudo tee /etc/systemd/system/chainflip-node.service.d/override.conf > /dev/null <<EOF
[Service]
ExecStart=
ExecStart=/usr/bin/chainflip-node \\
  --chain /etc/chainflip/perseverance.chainspec.json \\
  --base-path /etc/chainflip/chaindata \\
  --node-key-file /etc/chainflip/keys/node_key_file \\
  --validator \\
  --database=paritydb \\
  --sync=full \\
  --blocks-pruning=300 \\
  --pruning=300
EOF
 
sudo systemctl daemon-reload

Snapshots are updated every 6 hours starting at 00:00 UTC. The snapshot holds the state and blocks of the most recent 300 blocks. The size of the snapshot is approximately 15GB. You can override the snapshot to use a different number of blocks by changing the --blocks-pruning and --pruning parameters in the systemd override file.