# Commands

## 📚Useful commands📚

## ⚙️Service

**Info**

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

**Check node logs**

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

**Check service status**

```bash
sudo systemctl status dymd
```

**Restart service**

```bash
sudo systemctl restart dymd
```

**Stop service**

```bash
sudo systemctl stop dymd
```

**Start service**

```bash
sudo systemctl start dymd
```

**reload/disable/enable**

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

**Your Peer**

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

**Check all keys**

```python
dymd keys list
```

**Check Balance**

```bash
dymd query bank balances dym...addressjkl1yjgn7z09ua9vms259j
```

**Delete Key**

```python
dymd keys delete Wallet_Name
```

**Export Key**

```bash
dymd keys export wallet
```

**Import Key**

```bash
dymd keys import wallet wallet.backup
```

## 🚀Validator Management

**Edit Validator**

```python
dymd tx staking edit-validator \
--new-moniker "Your_Moniker" \
--identity "Keybase_ID" \
--details "Your_Description" \
--website "Your_Website" \
--security-contact "Your_Email" \
--chain-id dymension_1100-1 \
--commission-rate 0.05 \
--from Wallet_Name \
--gas 350000 \
--fees 7000000000000000adym -y
```

**Your Valoper-Address**

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

**Your Valcons-Address**

```bash
dymd tendermint show-address
```

**Your Validator-Info**

```bash
dymd query staking validator dymdvaloperaddress......
```

**Jail Info**

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

**Unjail**

```python
dymd tx slashing unjail --from Wallet_name --chain-id dymension_1100-1 --gas 350000 --fees 7000000000000000adym -y
```

**Active Validators List**

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

**Withdraw all rewards from all validators**

```python
dymd tx distribution withdraw-all-rewards --from Wallet_Name --chain-id dymension_1100-1 --gas 350000 --fees 7000000000000000adym -y
```

**Withdraw and commission from your Validator**

```bash
dymd tx distribution withdraw-rewards dymvaloper1amxp0k0hg4edrxg85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --fees 7000000000000000adym --chain-id=dymension_1100-1 --commission -y
```

**Delegate tokens to your validator**

```python
dymd tx staking delegate Your_dymvalpoer........ "100000000"adym --from Wallet_Name --gas 350000 --fees 7000000000000000adym --chain-id=dymension_1100-1 -y
```

**Delegate tokens to different validator**

```python
dymd tx staking delegate dymvalpoer........ "100000000"adym --from Wallet_Name --gas 350000 --fees 7000000000000000adym --chain-id=dymension_1100-1 -y
```

**Redelegate tokens to another validator**

```python
dymd tx staking redelegate Your_dymvalpoer........ dymvalpoer........ "100000000"adym --from Wallet_Name --gas 350000 --fees 7000000000000000adym --chain-id=dymension_1100-1 -y
```

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

```python
dymd tx staking unbond Your_dymvalpoer........ "100000000"adym --from Wallet_Name --gas 350000 --fees 7000000000000000adym --chain-id=dymension_1100-1 -y
dymd tx staking unbond dymvalpoer........ "100000000"adym --from Wallet_Name --gas 350000 --fees 7000000000000000adym --chain-id=dymension_1100-1 -y
```

**Transfer tokens from wallet to wallet**

```python
dymd tx bank send Your_dymaddress............ dymaddress........... "1000000000000000000"adym --gas 350000 --fees 7000000000000000adym --chain-id=dymension_1100-1 -y
```

## 📝Governance

**View all proposals**

```bash
dymd query gov proposals
```

**View specific proposal**

```bash
dymd query gov proposal 1
```

**Vote yes**

```python
dymd tx gov vote 1 yes --from Wallet_Name --gas 350000 --fees 7000000000000000adym --chain-id=dymension_1100-1 -y
```

**Vote no**

```python
dymd tx gov vote 1 no --from Wallet_Name --gas 350000 --fees 7000000000000000adym --chain-id=dymension_1100-1 -y
```

**Vote abstain**

```python
dymd tx gov vote 1 abstain --from Wallet_Name --gas 350000 --fees 7000000000000000adym --chain-id=dymension_1100-1 -y
```

**Vote no\_with\_veto**

```python
dymd tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --fees 7000000000000000adym --chain-id=dymension_1100-1 -y
```

## 📡IBC transfer

* for exapmle - DYM -> Osmosis

```python
dymd tx ibc-transfer transfer transfer channel-2 Your_OSMOaddress............ "100000"adym --from Your_DYM_Wallet_Name ---gas 350000 --fees "7000000000000000"adym --chain-id=dymension_1100-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://stavr-team.gitbook.io/nodes-guides/mainnets/dymension/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.
