# Commands

## 📚Useful commands📚

## ⚙️Service

**Info**

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

**Check node logs**

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

**Check service status**

```bash
sudo systemctl status bandd 
```

**Restart service**

```bash
sudo systemctl restart bandd 
```

**Stop service**

```bash
sudo systemctl stop bandd 
```

**Start service**

```bash
sudo systemctl start bandd 
```

**reload/disable/enable**

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

**Your Peer**

```bash
echo $(bandd tendermint show-node-id)'@'$(wget -qO- eth0.me)':'$(cat $HOME/.band/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
bandd keys add Wallet_Name
      OR
bandd keys add Wallet_Name --recover
```

**Check all keys**

```python
bandd keys list
```

**Check Balance**

```bash
bandd query bank balances band...addressjkl1yjgn7z09ua9vms259j
```

**Delete Key**

```python
bandd keys delete Wallet_Name
```

**Export Key**

```bash
bandd keys export wallet
```

**Import Key**

```bash
bandd keys import wallet wallet.backup
```

## 🚀Validator Management

**Edit Validator**

```python
bandd tx staking edit-validator \
--new-moniker "Your_Moniker" \
--identity "Keybase_ID" \
--details "Your_Description" \
--website "Your_Website" \
--security-contact "Your_Email" \
--chain-id laozi-mainnet \
--commission-rate 0.05 \
--from Wallet_Name \
--gas 350000 \
--fees 70000000uband  -y
```

**Your Valoper-Address**

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

**Your Valcons-Address**

```bash
bandd tendermint show-address
```

**Your Validator-Info**

```bash
bandd query staking validator bandvaloperaddress......
```

**Jail Info**

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

**Unjail**

```python
bandd tx slashing unjail --from Wallet_name --chain-id laozi-mainnet --gas 350000 --fees 700000uband -y
```

**Active Validators List**

```bash
bandd 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
bandd 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
[[ $(bandd q staking validator $VALOPER -oj | jq -r .consensus_pubkey.key) = $(bandd status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "\nYou win\n" || echo -e "\nYou lose\n"
```

**Withdraw all rewards from all validators**

```python
bandd tx distribution withdraw-all-rewards --from Wallet_Name --chain-id laozi-mainnet --gas 350000 --fees 7000uband -y
```

**Withdraw and commission from your Validator**

```bash
bandd tx distribution withdraw-rewards bandvaloper1amxp0k0hg4edrxg85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --fees 7000uband  --chain-id=laozi-mainnet --commission -y
```

**Delegate tokens to your validator**

```python
bandd tx staking delegate Your_bandvalpoer........ "100000000"uband --from Wallet_Name --gas 350000 --fees 7000000uband --chain-id=laozi-mainnet -y
```

**Delegate tokens to different validator**

```python
bandd tx staking delegate bandvalpoer........ "100000000"uband --from Wallet_Name --gas 350000 --fees 70uband  --chain-id=laozi-mainnet -y
```

**Redelegate tokens to another validator**

```python
bandd tx staking redelegate Your_bandvalpoer........ bandvalpoer........ "100000000"uband --from Wallet_Name --gas 350000 --fees 7000uband  --chain-id=laozi-mainnet -y
```

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

```python
bandd tx staking unbond Your_bandvalpoer........ "100000000"uband  --from Wallet_Name --gas 350000 --fees 7000000uband --chain-id=laozi-mainnet -y
bandd tx staking unbond bandvalpoer........ "100000000"uband --from Wallet_Name --gas 350000 --fees 7000uband --chain-id=laozi-mainnet -y
```

**Transfer tokens from wallet to wallet**

```python
bandd tx bank send Your_bandaddress............ bandaddress........... "1000000000000000000"uband --gas 350000 --fees 7000uband  --chain-id=laozi-mainnet -y
```

## 📝Governance

**View all proposals**

```bash
bandd query gov proposals
```

**View specific proposal**

```bash
bandd query gov proposal 1
```

**Vote yes**

```python
bandd tx gov vote 1 yes --from Wallet_Name --gas 350000 --fees 7000uband --chain-id=laozi-mainnet -y
```

**Vote no**

```python
bandd tx gov vote 1 no --from Wallet_Name --gas 350000 --fees 7000000uband --chain-id=laozi-mainnet -y
```

**Vote abstain**

```python
bandd tx gov vote 1 abstain --from Wallet_Name --gas 350000 --fees 7000uband  --chain-id=laozi-mainnet -y
```

**Vote no\_with\_veto**

```python
bandd tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --fees 700uband  --chain-id=laozi-mainnet -y
```

## 📡IBC transfer

* for exapmle - BAND-> Osmosis

```python
bandd tx ibc-transfer transfer transfer channel-2 Your_OSMOaddress............ "100000"uband  --from Your_BAND_Wallet_Name ---gas 350000 --fees 7000000uband --chain-id=laozi-mainnet -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/band-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.
