# Run Your LAVA Node with a few simple clicks!


By [Cryptoboys27.Validator](https://paragraph.com/@0xcb) · 2024-03-11

---

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](https://twitter.com/cryptoboys27) to stay updated on everything related to nodes.

What is Lava? 🌋[​](https://docs.lavanet.xyz/about#what-is-lava-)
-----------------------------------------------------------------

Lava is the first modular data access layer for blockchains. It introduces [specs](https://docs.lavanet.xyz/spec): 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.

Hardware requirements
---------------------

![](https://storage.googleapis.com/papyrus_images/f48b76d0058d29ed88d88061a8b1fbe85b35ee2959e51b53aa38846265109126.png)

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](https://contabo.com). 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.

![](https://storage.googleapis.com/papyrus_images/bb61b7d49484245389a49622c3aab6656d572ffe96343e3e829725502bbb1e1e.png)

Select a rental period of 1-12 months, I selected 1 month with the flexibility to extend it later if needed:

![](https://storage.googleapis.com/papyrus_images/10f12bc507a77fe70048b680248d9af748f27354ae3357f78863afbe84661c17.png)

select European union

![](https://storage.googleapis.com/papyrus_images/4807035f753abe545bbbdd468950ff612a458e847ca3aadbaacc5f8dbbc9564a.png)

Select SSD For the best storage solution

![](https://storage.googleapis.com/papyrus_images/519b6242ac4318e9598be0e5dc304a806fa479843edcf80996d4537526f3dab8.png)

To access Docker with Ubuntu 22.04, navigate to the “Apps & Panels” section and make the appropriate selection:

![](https://storage.googleapis.com/papyrus_images/0344c7c8472369a5ea6b7b01a55bb955071eb69a6ec4511848c5eefbb819c1cd.png)

To prioritize security, I highly recommend generating a new password and securely storing it to ensure maximum protection:

![](https://storage.googleapis.com/papyrus_images/30e0e53228feaff902040af1d2db792391540e440e1e96333129174d82f7a413.png)

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:

![](https://storage.googleapis.com/papyrus_images/c2047d3c6f601d410145884eaf5df18d2dd3aa55f8b365ff3b70c9155b442e95.png)

Congratulations! You are now successfully logged into your server:

![](https://storage.googleapis.com/papyrus_images/ee070d0a704ca381b07110de74db211336b45c0abebb02b0cbd92674445ac5ce.png)

**Node deployment :**
---------------------

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.

### **1\. Install Dependencies First**

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 
    

### **2**. **Configure Moniker Next**

you need to configure your Moniker with a unique name by running the following command: example MONIKER=”Cryptoboys27”

    MONIKER="<your-moniker-name>" 
    

### **3\. Install Go**

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)
    

### **4\. Build Binaries**

The next step is to build binaries by running the following commands:

Before proceeding, ensure you visit the [Lava GitHub repository](https://github.com/lavanet/lava) 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
    

### **5\. Initialize the node**

    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
    

**6\. Set up your Validator**
=============================

**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](https://discord.gg/wg3P3D98V6). 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](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:**

1.  Check validator details with
    
        lavad q staking validator $(lavad keys show wallet --bech val -a)
        
    
2.  Find your validator at [https://lava.explorers.guru/validators](https://lava.explorers.guru/validators) by searching for your wallet address or moniker in the delegations.
    
3.  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
        
    
4.  Follow [@cryptoboys27](https://twitter.com/cryptoboys27) for more strategies.
    
5.  **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.
    

[Subscribe](null)

Good Luck!

---

*Originally published on [Cryptoboys27.Validator](https://paragraph.com/@0xcb/run-your-lava-node-with-a-few-simple-clicks)*
