CLI Cheatsheet

Key Management

Add new key

planqd keys add wallet

Recover existing key

planqd keys add wallet --recover

List All key

planqd keys list

Delete key

planqd keys delete wallet

Export Key (save to wallet.backup)

planqd keys export wallet

Import key

planqd keys import wallet wallet.backup

Query Wallet Balance

planqd q bank balances $(planqd keys show wallet -a)

Validator Management

Create Validator

planqd tx staking create-validator \
  --amount "1000000000000000000aplanq" \
  --pubkey $(planqd tendermint show-validator) \
  --moniker "MONIKER" \
  --identity "KEYBASE_ID" \
  --details "YOUR DETAILS" \
  --website "YOUR WEBSITE" \
  --chain-id planq_7070-2 \
  --commission-rate "0.05" \
  --commission-max-rate "0.20" \
  --commission-max-change-rate "0.01" \
  --min-self-delegation "1" \
  --gas-prices="30000000000aplanq" \
  --gas="1000000" \
  --gas-adjustment="1.5" \
  --from wallet \
  -y

Edit Validator

planqd tx staking edit-validator \
--new-moniker="MONIKER" \
--identity="YOUR_KEYBASE_ID" \
--details="YOUR_DETAILS" \
--website="YOUR_WEBSITE_URL" \
--chain-id planq_7070-2 \
--commission-rate=0.05 \
--from=wallet \
--gas-adjustment="1.5" \
--gas="1000000" \
--gas-prices="30000000000aplanq" \
-y

Unjail Validator

planqd tx slashing unjail --from wallet --chain-id planq_7070-2 --gas-prices 30000000000aplanq --gas-adjustment 1.5 --gas 1000000 -y 

Signing Info

planqd query slashing signing-info $(planqd tendermint show-validator)

List all active validators

planqd 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 

List all inactive validators

planqd q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_UNBONDED") or .status=="BOND_STATUS_UNBONDING")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl 

View validators details

planqd q staking validator $(planqd keys show wallet --bech val -a) 

Token Management

Withdraw rewards from all validators

planqd tx distribution withdraw-all-rewards --from wallet --chain-id planq_7070-2 --gas-prices 30000000000aplanq --gas-adjustment 1.5 --gas 1000000 -y 

Withdraw comission and rewards from your validator

planqd tx distribution withdraw-rewards $(planqd keys show wallet --bech val -a) --commission --from wallet --chain-id planq_7070-2 --gas-prices 30000000000aplanq --gas-adjustment 1.5 --gas 1000000 -y 

Delegate to your validator

planqd tx staking delegate $(planqd keys show wallet --bech val -a) 1000000000000000000aplanq --from wallet --chain-id planq_7070-2 --gas-prices 30000000000aplanq --gas-adjustment 1.5 --gas 1000000 -y 

Delegate to other

planqd tx staking delegate TO_VALOPER_ADDRESS 1000000000000000000aplanq --from wallet --chain-id planq_7070-2 --gas-prices 30000000000aplanq --gas-adjustment 1.5 --gas 1000000 -y 

Redelegate your stake to other validators

planqd tx staking redelegate $(planqd keys show wallet --bech val -a) TO_VALOPER_ADDRESS 1000000000000000000aplanq --from wallet --chain-id planq_7070-2 --gas-prices 30000000000aplanq --gas-adjustment 1.5 --gas 1000000 -y 

Unbond stake

planqd tx staking unbond $(planqd keys show wallet --bech val -a) 1000000000000000000aplanq --from wallet --chain-id planq_7070-2 --gas-prices 30000000000aplanq --gas-adjustment 1.5 --gas 1000000 -y 

Send tokens

planqd tx bank send wallet TO_WALLET_ADDRESS 1000000000000000000aplanq --from wallet --chain-id planq_7070-2 --gas-prices 30000000000aplanq --gas-adjustment 1.5 --gas 1000000 -y 

Governance

List all proposals

planqd query gov proposals

Vote YES / NO / ABSTAIN / NO_WITH_VETO

planqd tx gov vote 1 yes --from wallet --chain-id planq_7070-2 --gas-prices 30000000000aplanq --gas-adjustment 1.5 --gas 1000000 -y 

Create new text proposal

planqd tx gov submit-proposal \
--title="Title" \
--description="Description" \
--deposit=100000000000000000000aplanq \
--type="Text" \
--from=wallet \
--gas-prices 30000000000aplanq \ 
--gas-adjustment 1.5 \
--gas 1000000 \
-y 

Utility

Set Indexer NULL / KV

sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.planqd/config/config.toml

Set Custom Port

CUSTOM_PORT=13
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${CUSTOM_PORT}658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${CUSTOM_PORT}657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${CUSTOM_PORT}060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${CUSTOM_PORT}656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${CUSTOM_PORT}660\"%" $HOME/.planqd/config/config.toml
sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${CUSTOM_PORT}317\"%; s%^address = \":8080\"%address = \":${CUSTOM_PORT}080\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${CUSTOM_PORT}090\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${CUSTOM_PORT}091\"%; s%^address = \"0.0.0.0:8545\"%address = \"0.0.0.0:${CUSTOM_PORT}545\"%; s%^ws-address = \"0.0.0.0:8546\"%ws-address = \"0.0.0.0:${CUSTOM_PORT}546\"%" $HOME/.planqd/config/app.toml

Get Validator info

planqd status 2>&1 | jq .ValidatorInfo

Get denom info

planqd q bank denom-metadata -oj | jq

Get sync status

planqd status 2>&1 | jq .SyncInfo.catching_up

Get latest height

planqd status 2>&1 | jq .SyncInfo.latest_block_height

Reset Node

planqd tendermint unsafe-reset-all --home $HOME/.planqd --keep-addr-book

Delete Node

sudo systemctl stop planqd
sudo systemctl disable planqd
sudo rm /etc/systemd/system/planqd.service
sudo systemctl daemon-reload
rm -rf $HOME/.planqd
sudo rm -rf $(which planqd) 

Services Management

# Reload Service
sudo systemctl daemon-reload

# Enable Service
sudo systemctl enable planqd

# Disable Service
sudo systemctl disable planqd

# Start Service
sudo systemctl start planqd

# Stop Service
sudo systemctl stop planqd

# Restart Service
sudo systemctl restart planqd

# Check Service Status
sudo systemctl status planqd

# Check Service Logs
sudo journalctl -u planqd -f --no-hostname -o cat

Last updated