# Commands

## 📚Useful commands📚

## ⚙️Service

**Info**

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

**Check node logs**

```python
sudo journalctl -fu Cardchaind -o cat
```

**Check service status**

```python
sudo systemctl status Cardchaind 
```

**Restart service**

```python
sudo systemctl restart Cardchaind 
```

**Stop service**

```python
sudo systemctl stop Cardchaind 
```

**Start service**

```python
sudo systemctl start Cardchaind 
```

**reload/disable/enable**

```python
sudo systemctl daemon-reload
sudo systemctl disable Cardchaind 
sudo systemctl enable Cardchaind 
```

**Your Peer**

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

## 🥅Working with keys

**New Key or Recover Key**

```python
Cardchaind keys add Wallet_Name
      OR
Cardchaind keys add Wallet_Name --recover
```

**Check all keys**

```python
Cardchaind keys list
```

**Check Balance**

```python
Cardchaind query bank balances cc...addressjkl1yjgn7z09ua9vms259j
```

**Delete Key**

```python
Cardchaind keys delete Wallet_Name
```

**Export Key**

```python
Cardchaind keys export wallet
```

**Import Key**

```python
Cardchaind keys import wallet wallet.backup
```

## 🚀Validator Management

**Edit Validator**

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

**Your Valoper-Address**

```python
Cardchaind keys show Wallet_Name --bech val
```

**Your Valcons-Address**

```python
Cardchaind tendermint show-address
```

**Your Validator-Info**

```python
Cardchaind query staking validator ccvaloperaddress......
```

**Jail Info**

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

**Unjail**

```python
Cardchaind tx slashing unjail --from Wallet_name --chain-id cardtestnet-11 --gas 350000 -y
```

**Active Validators List**

```python
Cardchaind 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**

```python
Cardchaind 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)**

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

**Withdraw all rewards from all validators**

```python
Cardchaind tx distribution withdraw-all-rewards --from Wallet_Name --chain-id cardtestnet-11 --gas 350000 -y
```

**Withdraw and commission from your Validator**

```python
Cardchaind tx distribution withdraw-rewards ccvaloper1a........ --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11--commission -y
```

**Delegate tokens to your validator**

```python
Cardchaind tx staking delegate ccvalpoer........ "100000000"ubpf --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
```

**Delegate tokens to different validator**

```python
Cardchaind tx staking delegate ccvalpoer........ "100000000"ubpf de --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
```

**Redelegate tokens to another validator**

```python
Cardchaind tx staking redelegate ccvalpoer........ ccvalpoer........ "100000000"ubpf --from Wallet_Name --gas 350000  --chain-id=cardtestnet-11 -y
```

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

```python
Cardchaind tx staking unbond ccvalpoer........ "100000000"ubpf --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
Cardchaind tx staking unbond ccvalpoer........ "100000000"ubpf --from Wallet_Name --gas 350000 --chain-id=cardtestnet-11 -y
```

**Transfer tokens from wallet to wallet**

```python
Cardchaind tx bank send ccaddress............ ccaddress........... "1000000000"ubpf --gas 350000 --chain-id=cardtestnet-11 -y
```

## 📝Governance

**View all proposals**

```python
Cardchaind query gov proposals
```

**View specific proposal**

```python
Cardchaind query gov proposal 1
```

**Vote yes**

```python
Cardchaind tx gov vote 1 yes --from Wallet_Name --gas 350000  --chain-id=cardtestnet-11 -y
```

**Vote no**

```python
Cardchaind tx gov vote 1 no --from Wallet_Name --gas 350000  --chain-id=cardtestnet-11 -y
```

**Vote abstain**

```python
Cardchaind tx gov vote 1 abstain --from Wallet_Name --gas 350000  --chain-id=cardtestnet-11 -y
```

**Vote no\_with\_veto**

```python
Cardchaind tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000  --chain-id=cardtestnet-11 -y
```

## 📡IBC transfer

* for exapmle - Crowd -> Osmosis

```python
Cardchaind tx ibc-transfer transfer transfer channel-2 Your_OSMOaddress............ "100000"ubpf --from Your_Crowd_Wallet_Name ---gas 350000 --chain-id=cardtestnet-11 -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/crowd/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.
