Skip to main content

Rejoin as a Validator after the Fork

In order for Lava Validators from lava-testnet-1 to join lava-testnet-2, it is necessary to make some slight adjustments. This page is a guide for Validators who were participating in the network before the hard fork.

πŸ“‹ Prerequisites​

  • πŸ”Ί Upgrade to Go version v1.20.5

πŸ“ Written Guide (~20m)​

πŸ—οΈ Backup keys​

tip

Backing up keys is not strictly mandatory to rejoin, but it is recommended to prevent any loss.

πŸ”‘ Steps:

  • Backup the private validator key file under ~/.lava/config (priv_validator_key.json)
  • Backup the node key under ~/.lava/config (node_key.json)
  • Backup account keys using the following commands:
    ACCOUNT_NAME=?
STRONG_PASSWORD=?
lavad keys export $ACCOUNT_NAME --keyring-backend test <<< "$STRONG_PASSWORD" > $ACCOUNT_NAME.key

♻️ Reset your node​

Reset the data folder by running the following command:

lavad tendermint unsafe-reset-all

πŸ“₯ Get new Genesis file​

Download the new genesis file into ~/.lava/config. The file can be downloaded from https://github.com/lavanet/lava-config/blob/main/testnet-2/genesis_json/genesis.json or by using wget

wget https://raw.githubusercontent.com/lavanet/lava-config/main/testnet-2/genesis_json/genesis.json

⬇️ Download the new Binary Version​

lavad Binary version v0.21.1.2 Input the following commands:

cd ~/.lava/
sudo rm -rf ~/.lava/cosmovisor
wget https://github.com/lavanet/lava/releases/download/v0.21.1.2/lavad-v0.21.1.2-linux-amd64
mkdir -p cosmovisor/genesis/bin
mv lavad-v0.21.1.2-linux-amd64 cosmovisor/genesis/bin/lavad

πŸ”Ό Update node configuration files​

tip

It's recommended to run the following command: lavad config chain-id lava-testnet-2

Check the following variables are set as follows:

πŸ—Ž config.toml
timeout_commit = "30s"
timeout_propose = "1s"
timeout_precommit = "1s"
timeout_precommit_delta = "500ms"
timeout_prevote = "1s"
timeout_prevote_delta = "500ms"
timeout_propose_delta = "500ms"
skip_timeout_commit = false seeds="3a445bfdbe2d0c8ee82461633aa3af31bc2b4dc0@testnet2-seed-node.lavanet.xyz:26656,e593c7a9ca61f5616119d6beb5bd8ef5dd28d62d@testnet2-seed-node2.lavanet.xyz:26656"
πŸ—Ž client.toml
broadcast-mode = "sync" chain-id = β€œlava-testnet-2”

πŸš€ Start the node​

Use the systemctl command to start the node:

sudo systemctl start cosmovisor

πŸ—’οΈ Check the logs​

Check the logs with journalctl:

sudo journalctl -u cosmovisor -f

Watch closely! Make sure that blocks are advancing as expected!


βœ”οΈ Verify the Chain​

To verify you're running on the correct chain, input the following:

lavad status | jq -r '.NodeInfo.network == "lava-testnet-2"'

βœ… You should get the true value! This is the final step. You are now running a validator on lava-testnet-2