# Commands

## 📚Useful commands📚

## ⚙️Service

**Info**

```bash
lavad status 2>&1 | jq .NodeInfo
lavad status 2>&1 | jq .SyncInfo
lavad status 2>&1 | jq .ValidatorInfo
```

**Check node logs**

```bash
sudo journalctl -fu lavad -o cat
```

**Check service status**

```bash
sudo systemctl status lavad 
```

**Restart service**

```bash
sudo systemctl restart lavad 
```

**Stop service**

```bash
sudo systemctl stop lavad 
```

**Start service**

```bash
sudo systemctl start lavad 
```

**reload/disable/enable**

```bash
sudo systemctl daemon-reload
sudo systemctl disable lavad 
sudo systemctl enable lavad 
```

**Your Peer**

```bash
echo $(lavad tendermint show-node-id)'@'$(wget -qO- eth0.me)':'$(cat $HOME/.lava/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
```

## 🥅Working with keys

**New Key or Recover Key**

```bash
lavad keys add Wallet_Name
      OR
lavad keys add Wallet_Name --recover
```

**Check all keys**

```python
lavad keys list
```

**Check Balance**

```bash
lavad query bank balances address....jkl1yjgn7z09ua9vms259j
```

**Delete Key**

```python
lavad keys delete Wallet_Name
```

**Export Key**

```bash
lavad keys export wallet
```

**Import Key**

```bash
lavad keys import wallet wallet.backup
```

## 🚀Validator Management

**Edit Validator**

```python
lavad tx staking edit-validator \
--new-moniker "Your_Moniker" \
--identity "Keybase_ID" \
--details "Your_Description" \
--website "Your_Website" \
--security-contact "Your_Email" \
--chain-id lava-testnet-2 \
--commission-rate 0.05 \
--from Wallet_Name \
--gas 350000 -y
```

**Your Valoper-Address**

```bash
lavad keys show Wallet_Name --bech val
```

**Your Valcons-Address**

```bash
lavad tendermint show-address
```

**Your Validator-Info**

```bash
lavad query staking validator valoperaddress......
```

**Jail Info**

```bash
lavad query slashing signing-info $(lavad tendermint show-validator)
```

**Unjail**

```python
lavad  tx slashing unjail --from Wallet_name --chain-id lava-testnet-2 --gas 350000 --fees "7000"ulava  -y
```

**Active Validators List**

```bash
lavad q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl
```

**Inactive Validators List**

```bash
lavad q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_UNBONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl
```

**Check that your key matches the validator (Win -&#x20;**<mark style="color:green;">**Good**</mark>**. Lose -&#x20;**<mark style="color:red;">**Bad**</mark>**)**

```bash
VALOPER=Enter_Your_valoper_Here
[[ $(lavad q staking validator $VALOPER -oj | jq -r .consensus_pubkey.key) = $(lavad status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "\nYou win\n" || echo -e "\nYou lose\n"
```

**Withdraw all rewards from all validators**

```python
lavad tx distribution withdraw-all-rewards --from Wallet_Name --chain-id lava-testnet-2 --gas 350000 --fees "7000"ulava   -y
```

**Withdraw and commission from your Validator**

```bash
lavad tx distribution withdraw-rewards valoper1amxp0k0hg4edrxg85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --fees "7000"ulava --chain-id=lava-testnet-2 --commission -y
```

**Delegate tokens to your validator**

```python
lavad tx staking delegate Your_valpoer........ "100000000"ulava --from Wallet_Name --gas 350000 --fees "7000"ulava --chain-id=lava-testnet-2 -y
```

**Delegate tokens to different validator**

```python
lavad tx staking delegate valpoer........ "100000000"ulava --from Wallet_Name --gas 350000 --fees "7000"ulava --chain-id=lava-testnet-2 -y
```

**Redelegate tokens to another validator**

```python
lavad tx staking redelegate Your_valpoer........ valpoer........ "100000000"ulava --from Wallet_Name --gas 350000 --fees "7000"ulava --chain-id=lava-testnet-2 -y
```

**Unbond tokens from your validator or different validator**

```python
lavad tx staking unbond Your_valpoer........ "100000000"ulava --from Wallet_Name --gas 350000 --fees "7000"ulava --chain-id=lava-testnet-2 -y
lavad tx staking unbond valpoer........ "100000000"ulava --from Wallet_Name --gas 350000 --fees "7000"ulava --chain-id=lava-testnet-2 -y
```

**Transfer tokens from wallet to wallet**

```python
lavad tx bank send Your_address............ address........... "1000000000000000000"ulava --gas 350000 --fees "7000"ulava --chain-id=lava-testnet-2 -y
```

## 📝Governance

**View all proposals**

```bash
lavad query gov proposals
```

**View specific proposal**

```bash
lavad query gov proposal 1
```

**Vote yes**

```python
lavad tx gov vote 1 yes --from Wallet_Name --gas 350000 --fees "7000"ulava --chain-id=lava-testnet-2 -y
```

**Vote no**

```python
lavad tx gov vote 1 no --from Wallet_Name --gas 350000 --fees "7000"ulava --chain-id=lava-testnet-2 -y
```

**Vote abstain**

```python
lavad tx gov vote 1 abstain --from Wallet_Name --gas 350000 --fees "7000"ulava --chain-id=lava-testnet-2 -y
```

**Vote no\_with\_veto**

```python
lavad tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --fees "7000"ulava --chain-id=lava-testnet-2 -y
```

## 📡IBC transfer

* for exapmle - Lava -> Osmosis

```python
lavad tx ibc-transfer transfer transfer channel-2 Your_OSMOaddress............ "100000"ulava --from Lava_Wallet_Name ---gas 350000 --fees "70000"ulava --chain-id=lava-testnet-2 -y
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://stavr-team.gitbook.io/nodes-guides/archive/lava-t-halt/commands.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
