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.