CLI Cheatsheet
Key management
Add new key
wardend keys add wallet
Recover existing key
wardend keys add wallet --recover
List all keys
wardend keys list
Delete key
wardend keys delete wallet
Export key to the file
wardend keys export wallet
Import key from the file
wardend keys import wallet wallet.backup
Wallet balance
wardend q bank balances $(wardend keys show wallet -a)
Token management
Withdraw rewards from all validators
wardend tx distribution withdraw-all-rewards --from wallet --chain-id chiado_10010-1 --gas auto --gas-adjustment 1.5 --fees 250000000000000award -y
Withdraw rewards and commissions from your validator
wardend tx distribution withdraw-rewards $(wardend keys show wallet --bech val -a) --commission --from wallet --chain-id chiado_10010-1 --fees 250000000000000award -y
Delegate tokens to yourself
wardend tx staking delegate $(wardend keys show wallet --bech val -a) 1000000000000000000award --from wallet --chain-id chiado_10010-1 --fees 250000000000000award -y
Delegate tokens to validator
wardend tx staking delegate <TO_VALOPER_ADDRESS> 1000000000000000000award --from wallet --chain-id chiado_10010-1 --fees 250000000000000award -y
Redelegate tokens to another validator
wardend tx staking redelegate $(wardend keys show wallet --bech val -a) <TO_VALOPER_ADDRESS> 1000000000000000000award --from wallet --chain-id chiado_10010-1 --fees 250000000000000award -y
Unbond tokens from your validator
wardend tx staking unbond $(wardend keys show wallet --bech val -a) 1000000000000000000award --from wallet --chain-id chiado_10010-1 --fees 250000000000000award -y
Send tokens to the wallet
wardend tx bank send wallet <TO_WALLET_ADDRESS> 1000000000000000000award --from wallet --chain-id chiado_10010-1 --fees 250000000000000award -y
Validator management
Validator info
wardend status 2>&1 | jq .validator_info
Validator details
wardend q staking validator $(wardend keys show wallet --bech val -a)
Check if validator key is correct
[[ $(wardend q staking validator $(wardend keys show wallet --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(wardend 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
wardend 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
wardend 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
wardend 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 chiado_10010-1 \ --commission-rate 0.05 \ --from wallet \ --fees 250000000000000award \ -y
Jail reason
wardend query slashing signing-info $(wardend tendermint show-validator)
Unjail validator
wardend tx slashing unjail --from wallet --chain-id chiado_10010-1 --fees 250000000000000award -y
Governance
Create a new offer
wardend tx gov submit-proposal \ --title "" \ --description "" \ --deposit 1000000000000000000award \ --type Text --from wallet \ --fees 250000000000000award \ -y
List all proposals
wardend query gov proposals
View proposal by ID
wardend query gov proposal 1
Vote “YES”
wardend tx gov vote 1 yes --from wallet --chain-id chiado_10010-1 --fees 250000000000000award -y
Vote “NO”
wardend tx gov vote 1 no --from wallet --chain-id chiado_10010-1 --fees 250000000000000award -y
Vote “ABSTAIN”
wardend tx gov vote 1 abstain --from wallet --chain-id chiado_10010-1 --fees 250000000000000award -y
Vote “NOWITHVETO”
wardend tx gov vote 1 NoWithVeto --from wallet --chain-id chiado_10010-1 --fees 250000000000000award -y
Maintenance
Get sync info
wardend status 2>&1 | jq .sync_info
Get node peer
echo $(wardend tendermint show-node-id)'@'$(wget -qO- eth0.me)':'$(cat $HOME/.warden/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
Get live peers
curl -sS http://localhost:12757/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/.warden/config/config.toml
Set minimum gas price
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"250000000000000award\"|" $HOME/.warden/config/app.toml
Disable indexer
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.warden/config/config.toml
Enable indexer
sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.warden/config/config.toml
Update pruning
sed -i -e 's|^pruning *=.*|pruning = "custom"|' $HOME/.warden/config/app.tomlsed -i -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' $HOME/.warden/config/app.tomlsed -i -e 's|^pruning-interval *=.*|pruning-interval = "19"|' $HOME/.warden/config/app.toml
Filter peers and max peers
sed -i -e 's|^filter_peers *=.*|filter_peers = "true"|' $HOME/.warden/config/config.tomlsed -i -e 's|^max_num_inbound_peers *=.*|max_num_inbound_peers = "50"|' $HOME/.warden/config/config.tomlsed -i -e 's|^max_num_outbound_peers *=.*|max_num_outbound_peers = "20"|' $HOME/.warden/config/config.toml
Update ports
CUSTOM_PORT=127sed -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/.warden/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/.warden/config/app.toml
Reset chain data
wardend tendermint unsafe-reset-all --keep-addr-book --home $HOME/.warden
Delete node
sudo systemctl stop wardendsudo systemctl disable wardendsudo rm -rf /etc/systemd/system/wardend.servicesudo systemctl daemon-reloadsudo rm -f $(which wardend)sudo rm -rf $HOME/.wardensudo rm -rf $HOME/wardenprotocol
Service Management
Status service
sudo systemctl status wardend
Start service
sudo systemctl start wardend
Stop service
sudo systemctl stop wardend
Restart service
sudo systemctl restart wardend
Logs service
sudo journalctl -u wardend -f --no-hostname -o cat
Reload service
sudo systemctl daemon-reload
Enable service
sudo systemctl enable wardend
Disable service
sudo systemctl disable wardend