Install
Recommended Hardware: 8 Cores, 16GB RAM, 250GB of storage (NVME)
Chain ID: lava-mainnet-1 | Latest Version Tag: v5.3.0
Dependencies Installation
Update system and install build tools
sudo apt update && sudo apt upgrade -y
sudo apt install curl git wget htop tmux build-essential jq make lz4 gcc unzip -yInstall GO
cd $HOME
ver="1.24.2" && \
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" && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
go versionManual installation
Come up with the name of your node and replace it instead <your_moniker>
MONIKER=<your_moniker>Download binary files
cd $HOME
rm -rf lava
git clone https://github.com/lavanet/lava.git
cd lava
git checkout v5.3.0
make install-all Initialize the node
# config and init app
lavad config chain-id lava-mainnet-1
lavad config keyring-backend file
lavad config node tcp://localhost:26657
lavad init $MONIKER --chain-id lava-mainnet-1Set node configuration
# download genesis and addrbook
curl -Ls https://snapshots.kjnodes.com/lava/genesis.json > $HOME/.lava/config/genesis.json
curl -Ls https://snapshots.kjnodes.com/lava/addrbook.json > $HOME/.lava/config/addrbook.json
# Add seeds
sed -i -e "s|^seeds *=.*|seeds = \"ebacd3e666003397fb685cd44956d33419219950@seed2.lava.chainlayer.net:26656,[email protected]:26656,[email protected]:26666,e4eb68c6fdfab1575b8794205caed47d4f737df4@lava-mainnet-seed.01node.com:26107,[email protected]:11156,[email protected]:26656,[email protected]:26656,[email protected]:26649,[email protected]:26656\"|" $HOME/.lava/config/config.toml
# Add peers
peers="[email protected]:15656,[email protected]:37656,[email protected]:28656,[email protected]:26656,[email protected]:26656,[email protected]:14456,[email protected]:40004,[email protected]:19956,[email protected]:26656"
sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$peers\"|" $HOME/.lava/config/config.toml
# Set minimum gas price
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.000000001ulava\"|" $HOME/.lava/config/app.toml
# Settings
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
# Set pruning
sed -i \
-e 's|^pruning *=.*|pruning = "custom"|' \
-e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
-e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
-e 's|^pruning-interval *=.*|pruning-interval = "19"|' \
$HOME/.lava/config/app.tomlCreate a service
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
sudo systemctl daemon-reload
sudo systemctl enable lavadDownload latest chain snapshot
curl -L https://snapshots.kjnodes.com/lava/snapshot_latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.lavaStart service and check the logs
sudo systemctl start lavad && sudo journalctl -u lavad -f --no-hostname -o catCreate wallet
# to create a new wallet, use the following command. don’t forget to save the mnemonic
lavad keys add wallet
# to restore exexuting wallet, use the following command
lavad keys add wallet --recover
# list all keys
lavad keys list
# before creating a validator, you need to fund your wallet and check balance
lavad q bank balances $(lavad keys show wallet -a)
Create validator
lavad tx staking create-validator \
--amount 1000000ulava \
--pubkey $(lavad tendermint show-validator) \
--moniker "YOUR_MONIKER_NAME" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id lava-mainnet-1 \
--commission-rate 0.05 \
--commission-max-rate 0.20 \
--commission-max-change-rate 0.01 \
--min-self-delegation 1 \
--from wallet \
--gas-adjustment 1.4 \
--gas auto \
--gas-prices 0.000000001ulava \
-yLast updated