# Commands

## 📚Useful commands📚

## ⚙️Service

**Info**

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

**Check node logs**

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

**Check service status**

```bash
sudo systemctl status ojod 
```

**Restart service**

```bash
sudo systemctl restart ojod 
```

**Stop service**

```bash
sudo systemctl stop ojod 
```

**Start service**

```bash
sudo systemctl start ojod 
```

**reload/disable/enable**

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

**Your Peer**

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

**Check all keys**

```python
ojod keys list
```

**Check Balance**

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

**Delete Key**

```python
ojod keys delete Wallet_Name
```

**Export Key**

```bash
ojod keys export wallet
```

**Import Key**

```bash
ojod keys import wallet wallet.backup
```

## 🚀Validator Management

**Edit Validator**

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

**Your Valoper-Address**

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

**Your Valcons-Address**

```bash
ojod tendermint show-address
```

**Your Validator-Info**

```bash
ojod query staking validator valoperaddress......
```

**Jail Info**

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

**Unjail**

```python
ojod  tx slashing unjail --from Wallet_name --chain-id ojo-devnet --gas 350000  -y
```

**Active Validators List**

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

**Withdraw all rewards from all validators**

```python
ojod tx distribution withdraw-all-rewards --from Wallet_Name --chain-id ojo-devnet --gas 350000 -y
```

**Withdraw and commission from your Validator**

```bash
ojod tx distribution withdraw-rewards valoper1amxp0k0hg4edrxg85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet --commission -y
```

**Delegate tokens to your validator**

```python
ojod tx staking delegate Your_valpoer........ "100000000"uojo --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y
```

**Delegate tokens to different validator**

```python
ojod tx staking delegate valpoer........ "100000000"uojo urce --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y
```

**Redelegate tokens to another validator**

```python
ojod  tx staking redelegate Your_valpoer........ valpoer........ "100000000"uojo --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y
```

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

```python
ojod tx staking unbond Your_valpoer........ "100000000"uojo --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y
ojod tx staking unbond valpoer........ "100000000"uojo --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y
```

**Transfer tokens from wallet to wallet**

```python
ojod tx bank send Your_address............ address........... "1000000000000000000"uojo --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y
```

## 📝Governance

**View all proposals**

```bash
ojod  query gov proposals
```

**View specific proposal**

```bash
ojod query gov proposal 1
```

**Vote yes**

```python
ojod tx gov vote 1 yes --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y
```

**Vote no**

```python
ojod tx gov vote 1 no --from Wallet_Name --gas 350000 --fees "7000"uojo ource --chain-id=ojo-devnet -y
```

**Vote abstain**

```python
ojod  tx gov vote 1 abstain --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y
```

**Vote no\_with\_veto**

```python
ojod tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --fees "7000"uojo --chain-id=ojo-devnet -y
```

## 📡IBC transfer

* for exapmle - Ojo -> Osmosis

```python
ojod tx ibc-transfer transfer transfer channel-2 Your_OSMOaddress............ "100000"uojo --from Ojo_Wallet_Name ---gas 350000 --fees "70000"uojo --chain-id=ojo-devnet -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/testnets/ojo/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.
