# Useful commands

## 🖊️Working with your wallet🖊️

**New Key or Recover Key**

```
wardend keys add Wallet_Name
      OR
wardend keys add Wallet_Name --recover
```

**Check all keys**

```
wardend keys list
```

**Check Balance**

```
wardend query bank balances <wallet_address>
```

**Delete Key**

```
wardend keys delete Wallet_Name
```

**Export Key**

```
wardend keys export wallet
```

**Import Key**

```
wardend keys import wallet wallet.backup
```

## 🔧Service🔧

**Info**

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

**Check node logs**

```
sudo journalctl -fu wardend -o cat
```

**Check service status**

```
sudo systemctl status wardend
```

**Restart service**

```
sudo systemctl restart wardend
```

**Stop service**

```
sudo systemctl stop wardend
```

**Start service**

```
sudo systemctl start wardend
```

**Reload, disable, enable**

```
sudo systemctl daemon-reload
sudo systemctl disable wardend
sudo systemctl enable wardend
```

**Your node peer**

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

***

## 🔗Validator Management🔗

**Edit Validator**

```
wardend tx staking edit-validator \
--new-moniker "Your_Moniker" \
--identity "Keybase_ID" \
--details "Your_Description" \
--website "Your_Website" \
--security-contact "Your_Email" \
--chain-id chiado_10010-1 \
--commission-rate 0.05 \
--from Wallet_Name \
--gas 350000 -y
```

**Your Valoper-Address**

```
wardend keys show Wallet_Name --bech val
```

**Your Valcons-Address**

```
wardend tendermint show-address
```

**Your Validator-Info**

```
wardend query staking validator valoperaddress......
```

**Jail Info**

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

**Unjail**

```
wardend tx slashing unjail --from Wallet_name --chain-id chiado_10010-1 --gas 350000 -y
```

**Active Validators List**

```
wardend 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**

```
wardend 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 - Good. Lose - Bad)**

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

**Withdraw all rewards from all validators**

```
wardend tx distribution withdraw-all-rewards --from Wallet_Name --chain-id chiado_10010-1 --gas 350000 -y
```

**Withdraw and commission from your Validator**

```
wardend tx distribution withdraw-rewards valoper1amxp0k0hg4edrxg85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --chain-id=chiado_10010-1 --commission -y
```

**Delegate tokens to your validator**

```
wardend tx staking delegate Your_valpoer........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=chiado_10010-1 -y
```

**Delegate tokens to different validator**

```
wardend tx staking delegate valpoer........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=chiado_10010-1 -y
```

**Redelegate tokens to another validator**

```
wardend tx staking redelegate Your_valpoer........ valpoer........ "100000000"uward --from Wallet_Name --gas 350000  --chain-id=chiado_10010-1 -y
```

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

```
wardend tx staking unbond Your_valpoer........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=chiado_10010-1 -y
wardend tx staking unbond valpoer........ "100000000"uward --from Wallet_Name --gas 350000 --chain-id=chiado_10010-1 -y
```

**Transfer tokens from wallet to wallet**

```
wardend tx bank send Your_address............ address........... "1000000000000000000"uward --gas 350000 --chain-id=chiado_10010-1 -y
```

***

## 🔈Governance🔈 <a href="#governance" id="governance"></a>

**View all proposals**

```
wardend query gov proposals
```

**View specific proposal**

```
wardend query gov proposal 1
```

**Vote yes**

```
wardend tx gov vote 1 yes --from Wallet_Name --gas 350000  --chain-id=chiado_10010-1 -y
```

**Vote no**

```
wardend tx gov vote 1 no --from Wallet_Name --gas 350000  --chain-id=chiado_10010-1 -y
```

**Vote no\_with\_veto**

```
wardend tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000  --chain-id=chiado_10010-1 -y
```

## ⛓️IBC transfer⛓️

**for exapmle - Warden -> Osmosis**

```
wardend tx ibc-transfer transfer transfer channel-2 Your_OSMOaddress............ "100000"uward --from Warden_Wallet_Name ---gas 350000 --fees 7000"uward" --chain-id=chiado_10010-1 -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://service.block-pro.net/testnet/warden/useful-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.
