Lava Logo

Lava

Archived

A decentralized RPC routing protocol for scalable and reliable blockchain access.

Validator Service Sunset

This validator has ceased operations on May 2, 2026. The data shown below is an archived snapshot of the final state.

Lava Mainnet Validator

A decentralized RPC routing protocol for scalable and reliable blockchain access.

Chaind IDLast Version Tag
lava-mainnet-1v5.5.1

Binary Upgrade

Fetching network status...

Installation

  1. Install Dependencies
sudo apt update && sudo apt upgrade -y
sudo apt install curl git wget htop tmux build-essential jq make lz4 gcc unzip -y
  1. Install Go
cd $HOME
VER="1.23.1"
wget "https://golang.org/dl/go$VER.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$VER.linux-amd64.tar.gz"
rm "go$VER.linux-amd64.tar.gz"
[ ! -f ~/.bash_profile ] && touch ~/.bash_profile
echo "export PATH=$PATH:/usr/local/go/bin:~/go/bin" >> ~/.bash_profile
source $HOME/.bash_profile
[ ! -d ~/go/bin ] && mkdir -p ~/go/bin
  1. Set Vars

Configuration

Generated Command

echo "export WALLET="wallet"" >> $HOME/.bash_profile
echo "export MONIKER=""" >> $HOME/.bash_profile
echo "export LAVA_CHAIN_ID="lava-mainnet-1"" >> $HOME/.bash_profile
echo "export LAVA_PORT="29"" >> $HOME/.bash_profile
source $HOME/.bash_profile
  1. Download Binary
cd $HOME
rm -rf lava
git clone https://github.com/lavanet/lava
cd lava
git checkout v5.5.1
make install-all
  1. Initialized
lavad init $MONIKER --chain-id $LAVA_CHAIN_ID
sed -i \
-e 's/timeout_propose = .*/timeout_propose = "1s"/' \
-e 's/timeout_propose_delta = .*/timeout_propose_delta = "500ms"/' \
-e 's/timeout_prevote = .*/timeout_prevote = "1s"/' \
-e 's/timeout_prevote_delta = .*/timeout_prevote_delta = "500ms"/' \
-e 's/timeout_precommit = .*/timeout_precommit = "500ms"/' \
-e 's/timeout_precommit_delta = .*/timeout_precommit_delta = "1s"/' \
-e 's/timeout_commit = .*/timeout_commit = "15s"/' \
-e 's/^create_empty_blocks = .*/create_empty_blocks = true/' \
-e 's/^create_empty_blocks_interval = .*/create_empty_blocks_interval = "15s"/' \
-e 's/^timeout_broadcast_tx_commit = .*/timeout_broadcast_tx_commit = "151s"/' \
-e 's/skip_timeout_commit = .*/skip_timeout_commit = false/' \
  $HOME/.lava/config/config.toml
  1. Download addrbook & genesis
wget -O $HOME/.lava/config/genesis.json https://snapshots.linknode.org/lava/genesis
wget -O $HOME/.lava/config/addrbook.json https://snapshots.linknode.org/lava/addrbook
  1. Configure Node

Update app.toml ports

sed -i.bak -e "s%:1317%:${LAVA_PORT}317%g;
s%:8080%:${LAVA_PORT}080%g;
s%:9090%:${LAVA_PORT}090%g;
s%:9091%:${LAVA_PORT}091%g;
s%:8545%:${LAVA_PORT}545%g;
s%:8546%:${LAVA_PORT}546%g;
s%:6065%:${LAVA_PORT}065%g" $HOME/.lava/config/app.toml

Update config.toml ports

sed -i.bak -e "s%:26658%:${LAVA_PORT}658%g;
s%:26657%:${LAVA_PORT}657%g;
s%:6060%:${LAVA_PORT}060%g;
s%:26656%:${LAVA_PORT}656%g;
s%^external_address = \"\"%external_address = \"$(wget -qO- eth0.me):${LAVA_PORT}656\"%;
s%:26660%:${LAVA_PORT}660%g" $HOME/.lava/config/config.toml

Configure Pruning

Pruning Strategy

💡 Recommended for Validators to fine-tune storage.

blocks
blocks

Generated Command

sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.lava/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.lava/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"19\"/" $HOME/.lava/config/app.toml

Set Minimum Gas Fee & Other Parameters

sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0.000000001ulava"|g' $HOME/.lava/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.lava/config/config.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.lava/config/config.toml
  1. Create Services
sudo tee /etc/systemd/system/lavad.service > /dev/null <<EOF
[Unit]
Description=Lava node
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/.lava
ExecStart=$(which lavad) start --home $HOME/.lava
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
  1. Start Services
sudo systemctl daemon-reload
sudo systemctl enable lavad
sudo systemctl restart lavad && sudo journalctl -u lavad -fo cat

Useful Commands

Note

For a complete guide to creating a validator, visit our Cheat Sheet & Key Management page. It covers all the necessary commands and crucial steps for securing your keys.

Check logs

sudo journalctl -u lavad -fo cat

Check Sync

curl -sL https://raw.githubusercontent.com/astrostake/scripts/refs/heads/main/cosmos_sync_monitor.sh | bash -s -- --directory $HOME/.lava --public-rpc https://lava-rpc.linknode.org --interval 5

🛡️ Security

To apply a quick security baseline, you can configure your firewall like this:

sudo ufw allow ${LAVA_PORT}656/tcp comment 'LAVA Node p2p Port'

🔐 For a more secure and maintainable setup, check out our Essentials Guide, including SSH key setup, Fail2Ban protection, and a full VPS hardening checklist.