CLI Cheatsheet
Key management
Section titled “Key management”Add new key
picad keys add wallet
Recover existing key
picad keys add wallet --recover
List all keys
picad keys list
Delete key
picad keys delete wallet
Export key to the file
picad keys export wallet
Import key from the file
picad keys import wallet wallet.backup
Wallet balance
picad q bank balances $(picad keys show wallet -a)
Token management
Section titled “Token management”Withdraw rewards from all validators
picad tx distribution withdraw-all-rewards --from wallet --chain-id centauri-1 --gas-adjustment 1.4 --gas auto --gas-prices 0ppica -y
Withdraw rewards and commissions from your validator
picad tx distribution withdraw-rewards $(picad keys show wallet --bech val -a) --commission --from wallet --chain-id centauri-1 --gas-adjustment 1.4 --gas auto --gas-prices 0ppica -y
Delegate tokens to yourself
picad tx staking delegate $(picad keys show wallet --bech val -a) 1000000ppica --from wallet --chain-id centauri-1 --gas-adjustment 1.4 --gas auto --gas-prices 0ppica -y
Delegate tokens to validator
picad tx staking delegate <TO_VALOPER_ADDRESS> 1000000ppica --from wallet --chain-id centauri-1 --gas-adjustment 1.4 --gas auto --gas-prices 0ppica -y
Redelegate tokens to another validator
picad tx staking redelegate $(picad keys show wallet --bech val -a) <TO_VALOPER_ADDRESS> 1000000ppica --from wallet --chain-id centauri-1 --gas-adjustment 1.4 --gas auto --gas-prices 0ppica -y
Unbond tokens from your validator
picad tx staking unbond $(picad keys show wallet --bech val -a) 1000000ppica --from wallet --chain-id centauri-1 --gas-adjustment 1.4 --gas auto --gas-prices 0ppica -y
Send tokens to the wallet
picad tx bank send wallet <TO_WALLET_ADDRESS> 1000000ppica --from wallet --chain-id centauri-1 --gas-adjustment 1.4 --gas auto --gas-prices 0ppica -y
Validator management
Section titled “Validator management”Validator info
picad status 2>&1 | jq .validator_info
Validator details
picad q staking validator $(picad keys show wallet --bech val -a)
Check if validator key is correct
[[ $(picad q staking validator $(picad keys show wallet --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(picad status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "\n\e[1m\e[32mTrue\e[0m\n" || echo -e "\n\e[1m\e[31mFalse\e[0m\n"
List all active validators
picad q staking validators -oj --limit=1000 | 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
picad q staking validators -oj --limit=1000 | jq '.validators[] | select(.status=="BOND_STATUS_UNBONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl
Edit existing validator
picad tx staking edit-validator \ --new-moniker "YOUR_MONIKER_NAME" \ --identity "YOUR_KEYBASE_ID" \ --details "YOUR_DETAILS" \ --website "YOUR_WEBSITE_URL" \ --security-contact "YOUR_EMAIL_ADDRESS" \ --chain-id centauri-1 \ --commission-rate 0.10 \ --from wallet \ --gas-adjustment 1.4 \ --gas auto \ --gas-prices 0ppica \ -y
Jail reason
picad query slashing signing-info $(picad tendermint show-validator)
Unjail validator
picad tx slashing unjail --from wallet --chain-id centauri-1 --gas-adjustment 1.4 --gas auto --gas-prices 0ppica -y
Governance
Section titled “Governance”Create a new offer
picad tx gov submit-proposal \ --title "" \ --description "" \ --deposit 500000000000000000ppica \ --type Text --from wallet \ --gas-adjustment 1.4 \ --gas auto \ --gas-prices 0ppica \ -y
List all proposals
picad query gov proposals
View proposal by ID
picad query gov proposal 1
Vote “YES”
picad tx gov vote 1 yes --from wallet --chain-id centauri-1 --gas-adjustment 1.4 --gas auto --gas-prices 0ppica -y
Vote “NO”
picad tx gov vote 1 no --from wallet --chain-id centauri-1 --gas-adjustment 1.4 --gas auto --gas-prices 0ppica -y
Vote “ABSTAIN”
picad tx gov vote 1 abstain --from wallet --chain-id centauri-1 --gas-adjustment 1.4 --gas auto --gas-prices 0ppica -y
Vote “NOWITHVETO”
picad tx gov vote 1 NoWithVeto --from wallet --chain-id centauri-1 --gas-adjustment 1.4 --gas auto --gas-prices 0ppica -y
Maintenance
Section titled “Maintenance”Get sync info
picad status 2>&1 | jq .sync_info
Get node peer
echo $(picad tendermint show-node-id)'@'$(wget -qO- eth0.me)':'$(cat $HOME/.banksy/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
Get live peers
curl -sS http://localhost:15057/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'
Enable Prometheus
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.banksy/config/config.toml
Set minimum gas price
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0ppica\"|" $HOME/.banksy/config/app.toml
Disable indexer
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.banksy/config/config.toml
Enable indexer
sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.banksy/config/config.toml
Update pruning
sed -i -e 's|^pruning *=.*|pruning = "custom"|' $HOME/.banksy/config/app.tomlsed -i -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' $HOME/.banksy/config/app.tomlsed -i -e 's|^pruning-interval *=.*|pruning-interval = "19"|' $HOME/.banksy/config/app.toml
Filter peers and max peers
sed -i -e 's|^filter_peers *=.*|filter_peers = "true"|' $HOME/.banksy/config/config.tomlsed -i -e 's|^max_num_inbound_peers *=.*|max_num_inbound_peers = "50"|' $HOME/.banksy/config/config.tomlsed -i -e 's|^max_num_outbound_peers *=.*|max_num_outbound_peers = "20"|' $HOME/.banksy/config/config.toml
Update ports
CUSTOM_PORT=150sed -i -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${CUSTOM_PORT}58\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${CUSTOM_PORT}57\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${CUSTOM_PORT}60\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${CUSTOM_PORT}56\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${CUSTOM_PORT}66\"%" $HOME/.banksy/config/config.tomlsed -i -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${CUSTOM_PORT}17\"%; s%^address = \":8080\"%address = \":${CUSTOM_PORT}80\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${CUSTOM_PORT}90\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${CUSTOM_PORT}91\"%" $HOME/.banksy/config/app.toml
Reset chain data
picad tendermint unsafe-reset-all --keep-addr-book --home $HOME/.banksy
Delete node
sudo systemctl stop picadsudo systemctl disable picadsudo rm -rf /etc/systemd/system/picad.servicesudo systemctl daemon-reloadsudo rm -f $(which picad)sudo rm -rf $HOME/.banksysudo rm -rf $HOME/composable-cosmos
Service Management
Section titled “Service Management”Status service
sudo systemctl status picad
Start service
sudo systemctl start picad
Stop service
sudo systemctl stop picad
Restart service
sudo systemctl restart picad
Logs service
sudo journalctl -u picad -f --no-hostname -o cat
Reload service
sudo systemctl daemon-reload
Enable service
sudo systemctl enable picad
Disable service
sudo systemctl disable picad