Usefull commands for Composable Testnet
🔑 Key management
👛
Change wallet in the commands to your own wallet name.
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
Query wallet balance
picad q bank balances $( picad keys show wallet -a)
🧙 Validator management
🙋♀️
Make sure to change values for moniker, identity, details website to your own values.
Edit existing validator
picad tx staking edit-validator \
--new-moniker "YOUR_MONIKER_NAME" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id centauri-1 \
--commission-rate 0.05 \
--from wallet \
--gas-adjustment 1.5 \
--gas auto \
--gas-prices 0ppica \
-y
Unjail validator
picad tx slashing unjail --from wallet --chain-id centauri-1 --gas-adjustment 1.5 --gas auto
--gas-prices 0ppica -y
Jail reason
picad query slashing signing-info $( picad tendermint show-validator)
List all active validators
picad 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
picad 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
View validator details
picad q staking validator $( picad keys show wallet --bech val -a)
🪙 Token management
Withdraw rewards from all validators
picad tx distribution withdraw-all-rewards --from wallet --chain-id centauri-1 --gas-adjustment 1.5 --gas auto --gas-prices 0ppica -y
Withdraw commission and rewards 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.5 --gas auto --gas-prices 0ppica -y
Delegate tokens to yourself
picad tx staking delegate $( picad keys show wallet --bech val -a) 1000000000000ppica --from wallet --chain-id centauri-1 --gas-adjustment 1.5 --gas auto --gas-prices 0ppica -y
Delegate tokens to validator
picad tx staking delegate <TO_VALOPER_ADDRESS> 1000000000000ppica --from wallet --chain-id centauri-1 --gas-adjustment 1.5 --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> 1000000$ppica --from wallet --chain-id centauri-1 --gas-adjustment 1.5 --gas auto --gas-prices 0ppica -y
Unbond tokens from your validator
picad tx staking unbond $( picad keys show wallet --bech val -a) 1000000$ppica --from wallet --chain-id centauri-1 --gas-adjustment 1.5 --gas auto --gas-prices 0ppica -y
Send tokens to the wallet
picad tx bank send wallet <TO_WALLET_ADDRESS> 1000000$ppica --from wallet --chain-id centauri-1 --gas-adjustment 1.5 --gas auto --gas-prices 0ppica -y
🏛️ Governance
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.5 --gas auto --gas-prices 0ppica -y
Vote 'No'
picad tx gov vote 1 no --from wallet --chain-id centauri-1 --gas-adjustment 1.5 --gas auto --gas-prices 0ppica -y
Vote 'Abstain'
picad tx gov vote 1 abstain --from wallet --chain-id centauri-1 --gas-adjustment 1.5 --gas auto --gas-prices 0ppica -y
Vote 'NoWithVeto'
picad tx gov vote 1 NoWithVeto --from wallet --chain-id centauri-1 --gas-adjustment 1.5 --gas auto --gas-prices 0ppica -y
⚡️ Utility
Update Indexer
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"|' \
-e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "2000"|' \
-e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
-e 's|^pruning-interval *=.*|pruning-interval = "100"|' \
$HOME/.banksy/config/app.toml
🔧 Maintenance
Get validator info
picad status 2>&1 | jq .ValidatorInfo
Get sync info
picad status 2>&1 | jq .SyncInfo
Enable prometheus
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.banksy/config/config.toml
Reset chain data
picad tendermint unsafe-reset-all --keep-addr-book --home $HOME/.banksy --keep-addr-book
Remove node
☢️
Make sure you have backed up your priv_validator_key.json!
cd $HOME
sudo systemctl stop picad
sudo systemctl disable picad
sudo rm /etc/systemd/system/picad.service
sudo systemctl daemon-reload
rm -f $(which picad)
rm -rf $HOME/.banksy
rm -rf $HOME/composable-centauri
⚙️ Service Management
Reload service configuration
sudo systemctl daemon-reload
Enable service
sudo systemctl enable picad
Disable service
sudo systemctl disable picad
Start service
sudo systemctl start picad
Stop service
sudo systemctl stop picad
Restart service
sudo systemctl restart picad
Check service status
sudo systemctl status picad
Check service logs
sudo journalctl -u picad -f --no-hostname -o cat