Welcome to Cryptoboys27.Validator!
With just a few clicks, you can easily learn and understand how to set up your node without any prior technical knowledge. Follow us on Twitter to stay updated on everything related to nodes.
Lava is the first modular data access layer for blockchains. It introduces specs: a modular primitive that lets contributors permissionlessly add support for new chains and data services to the base protocol. RPC is the first service supported by the protocol but we are soon bringing further choice by integrating with indexing and API partners, such as Subsquid.
Data consumers send requests to Lava’s network of data providers (node operators), who join Lava to meet demand for data. Lava creates dynamic, scalable markets around any blockchain data service. The protocol also creates crypto-economic guarantees around the quality of service, across speed, uptime and data accuracy.
By leveraging modular architecture and a peer-to-peer network of node operators, Lava creates a unified platform for accessing the multi-chain world.
To run a LAVA node, you'll need a Virtual Private Server (VPS), and one of the most reliable and cost-effective options is Contabo. You can choose the CLOUD VPS 1 or 2. Note that you can choose a more powerful server (VPS 3 or 4) to run multiple nodes more economically.
Select a rental period of 1-12 months, I selected 1 month with the flexibility to extend it later if needed:
select European union
Select SSD For the best storage solution
To access Docker with Ubuntu 22.04, navigate to the “Apps & Panels” section and make the appropriate selection:
To prioritize security, I highly recommend generating a new password and securely storing it to ensure maximum protection:
Remember to choose a strong password. Once payment is complete, you'll receive an e-mail with your IP address. Connect To Your VPS via SSH : To access your VPS securely, installing the Putty application, which facilitates a protected connection is necessary. Simply connect to your VPS using your IP address. simply enter “root” as the user and use your chosen password:
Congratulations! You are now successfully logged into your server:
step by step on how to Run LAVA full node Here are the detailed instructions on how you can run the LAVA full node step-by-step.
you need to install the required dependencies. Use the following commands
sudo apt update
sudo apt install -y curl git jq lz4 build-essential
sudo apt upgrade
you need to configure your Moniker with a unique name by running the following command: example MONIKER=”Cryptoboys27”
MONIKER="<your-moniker-name>"
After that you need to install Go by running the following commands:
sudo rm -rf /usr/local/go
curl -Ls https://go.dev/dl/go1.22.0.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
The next step is to build binaries by running the following commands:
Before proceeding, ensure you visit the Lava GitHub repository to verify the latest version.
cd $HOME
rm -rf lava
git clone https://github.com/lavanet/lava.git
cd lava
git checkout v1.0.1
export LAVA_BINARY=lavad
make build
NOTE : if there is error when you run git checkout v1.0.1
, then try git checkout main
Prepare binaries for Cosmovisor
mkdir -p $HOME/.lava/cosmovisor/genesis/bin
mv build/lavad $HOME/.lava/cosmovisor/genesis/bin/
rm -rf build
Create application symlinks
sudo ln -s $HOME/.lava/cosmovisor/genesis $HOME/.lava/cosmovisor/current -f
sudo ln -s $HOME/.lava/cosmovisor/current/bin/lavad /usr/local/bin/lavad -f
Cosmovisor Setup
you need to set up Cosmovisor and create a service by running the following commands:
Download and install Cosmovisor
go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest
Create service
sudo tee /etc/systemd/system/lava.service > /dev/null << EOF[Unit]
Description=lava node service
After=network-online.target
[Service]User=$USEREx
ecStart=$(which cosmovisor) run start
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
Environment="DAEMON_HOME=$HOME/.lava"
Environment="DAEMON_NAME=lavad"
Environment="UNSAFE_SKIP_BACKUP=true"
[Install]WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable lava.service
Set node configuration
lavad config chain-id lava-testnet-2 lavad config keyring-backend test lavad config node tcp://localhost:14457
lavad init $MONIKER --chain-id lava-testnet-2
Download genesis and addrbook
curl -Ls https://snapshots.kjnodes.com/lava-testnet/genesis.json > $HOME/.lava/config/genesis.json
curl -Ls https://snapshots.kjnodes.com/lava-testnet/addrbook.json > $HOME/.lava/config/addrbook.json
add seeds
sed -i -e "s|^seeds =.|seeds = "3f472746f46493309650e5a033076689996c8881@lava-testnet.rpc.kjnodes.com:14459"|" $HOME/.lava/config/config.toml
Set minimum gas price
sed -i -e "s|^minimum-gas-prices =.|minimum-gas-prices = "0ulava"|" $HOME/.lava/config/app.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.toml
Set custom ports
sed -i -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:14458\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:14457\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:14460\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:14456\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":14466\"%" $HOME/.lava/config/config.toml
sed -i -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:14417\"%; s%^address = \":8080\"%address = \":14480\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:14490\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:14491\"%; s%:8545%:14445%; s%:8546%:14446%; s%:6065%:14465%" $HOME/.lava/config/app.toml
Download latest chain snapshot
curl -L https://snapshots.kjnodes.com/lava-testnet/snapshot_latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.lava
[[ -f $HOME/.lava/data/upgrade-info.json ]] && cp $HOME/.lava/data/upgrade-info.json $HOME/.lava/cosmovisor/genesis/upgrade-info.json
Start service and check the logs
sudo systemctl start lava.service && sudo journalctl -u lava.service -f --no-hostname -o cat
Create a new wallet
lavad keys add wallet
or if you already have a wallet, recover it
lavad keys add wallet --recover
Please make sure to save your address, private key, or passphrase.
To receive Testnet funds, you can get faucets from the Lava_Network DC. Simply visit the #faucet channel on the DC and request a faucet by sharing the address you previously created. To submit your request, type $request followed by your address in the channel.
For instance, you would type the following to request funds for a specific address:
$request {Address}
then check your wallet balance using this command:
lavad q bank balances $(lavad keys show wallet -a)
Save the private validator key
Please make sure you’re already received the testnet Lava token.
Now save the private validator key, since it’s crucial to secure this file adequately to maintain the integrity and security of ur validator operations.
cat $HOME/.lava/config/priv_validator_key.json
Check the network synchronization status
lavad status 2>&1 | jq .SyncInfo.catching_up
Once the value of catching_up switches to "false", you can proceed to the final step, which is creating your validator.
Ensure you replace
your_moniker_name
,
your_details
,
your_website_url
,
with your actual moniker, details(descryption,email,etc), and yuor website url
lavad tx staking create-validator \
--amount=150000ulava \
--pubkey=$(lavad tendermint show-validator) \
--moniker "YOUR_MONIKER_NAME" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id=lava-testnet-2 \
--commission-rate=0.1 \
--commission-max-rate=0.2 \
--commission-max-change-rate=0.05 \
--min-self-delegation=1 \
--fees=10000ulava \
--from=wallet \
-y
Check information about your staking validator :
lavad q staking validator $(lavad keys show wallet --bech val -a)
or
lavad query staking validator $(lavad keys show wallet --bech val -a)
Congrats! You've become a validator on the Lava Network. Find your validator on https://lava.explorers.guru/validators and you can delegate some tokens to your node using this command;
lavad tx staking delegate YOUR_NODE_OPERATOR_ADRESS_HERE 1000000ulava --from wallet --chain-id lava-testnet-2
Replace "YOUR_NODE_OPERATOR_ADDRESS_HERE" with your actual node operator address
Reminder:
Check validator details with
lavad q staking validator $(lavad keys show wallet --bech val -a)
Find your validator at https://lava.explorers.guru/validators by searching for your wallet address or moniker in the delegations.
Delegate tokens to your node using :
NOTE : 1 LAVA = 1.000.000 ulava.
lavad tx staking delegate YOUR_NODE_OPERATOR_ADRESS_HERE 1000000ulava --from wallet --chain-id lava-testnet-2
Follow @cryptoboys27 for more strategies.
Disclaimer: This guide is for educational purposes only. The user is solely responsible for any actions taken. Consult official documentation for the latest information. Be cautious with security. The guide author and associated entities are not liable for any consequences.
Good Luck!