Key Management

Add new key

bandd keys add wallet

Recover existing key

bandd keys add wallet --recover

List All key

bandd keys list

Delete key

bandd keys delete wallet

Export Key (save to wallet.backup)

bandd keys export wallet

Import key

bandd keys import wallet wallet.backup

Query Wallet Balance

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

Validator Management

Create Validator

bandd tx staking create-validator \
  --amount "1000000uband" \
  --pubkey $(bandd tendermint show-validator) \
  --moniker "MONIKER" \
  --identity "KEYBASE_ID" \
  --details "YOUR DETAILS" \
  --website "YOUR WEBSITE" \
  --chain-id laozi-mainnet \
  --commission-rate "0.05" \
  --commission-max-rate "0.20" \
  --commission-max-change-rate "0.01" \
  --min-self-delegation "1" \
  -fees "500uband" \
  --gas "auto" \
  --gas-adjustment "1.5" \
  --from wallet \
  -y

Edit Validator

bandd tx staking edit-validator \
--new-moniker="MONIKER" \
--identity="YOUR_KEYBASE_ID" \
--details="YOUR_DETAILS" \
--website="YOUR_WEBSITE_URL" \
--chain-id laozi-mainnet \
--commission-rate=0.05 \
-fees "500uband" \
--gas="auto" \
--gas-adjustment="1.5" \
--from wallet \
-y

Unjail Validator

bandd tx slashing unjail --from wallet --chain-id laozi-mainnet -fees "500uband" \ --gas-adjustment 1.5 --gas "auto" -y 

Signing Info

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

List all active validators

bandd 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

bandd 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

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

Token Management

Withdraw rewards from all validators

bandd tx distribution withdraw-all-rewards --from wallet --chain-id laozi-mainnet -fees "500uband" \ --gas-adjustment 1.5 --gas "auto" -y 

Withdraw comission and rewards from your validator

bandd tx distribution withdraw-rewards $(bandd keys show wallet --bech val -a) --commission --from wallet --chain-id laozi-mainnet -fees "500uband" \ --gas-adjustment 1.5 --gas "auto" -y 

Delegate to your validator

bandd tx staking delegate $(bandd keys show wallet --bech val -a) 1000000uband --from wallet --chain-id laozi-mainnet -fees "500uband" \ --gas-adjustment 1.5 --gas "auto" -y 

Delegate to other

c4ed tx staking delegate TO_VALOPER_ADDRESS 1000000uband --from wallet --chain-id laozi-mainnet -fees "500uband" \ --gas-adjustment 1.5 --gas "auto" -y 

Redelegate your stake to other validators

bandd tx staking redelegate $(bandd keys show wallet --bech val -a) TO_VALOPER_ADDRESS 1000000uband --from wallet --chain-id laozi-mainnet -fees "500uband" \ --gas-adjustment 1.5 --gas "auto" -y 

Unbond stake

bandd tx staking unbond $(bandd keys show wallet --bech val -a) 1000000uband --from wallet --chain-id laozi-mainnet -fees "500uband" \ --gas-adjustment 1.5 --gas "auto" -y 

Send tokens

bandd tx bank send wallet TO_WALLET_ADDRESS 1000000uband --from wallet --chain-id laozi-mainnet -fees "500uband" \ --gas-adjustment 1.5 --gas "auto" -y 

Governance

List all proposals

bandd query gov proposals

Vote YES / NO / ABSTAIN / NO_WITH_VETO

bandd tx gov vote 1 yes --from wallet --chain-id laozi-mainnet -fees "500uband" \ --gas-adjustment 1.5 --gas "auto" -y 

Create new text proposal

bandd tx gov submit-proposal \
--title="Title" \
--description="Description" \
--deposit=100000000uband \
--type="Text" \
--from=wallet \
--gas-prices 0uband\ 
--gas-adjustment 1.5 \
--gas "auto" \
-y 

Utility

Set Indexer NULL / KV

sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.band/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/.band/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/.band/config/app.toml

Get Validator info

bandd status 2>&1 | jq .ValidatorInfo

Get denom info

bandd q bank denom-metadata -oj | jq

Get sync status

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

Get latest height

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

Reset Node

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

Delete Node

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

Services Management

# Reload Service
sudo systemctl daemon-reload

# Enable Service
sudo systemctl enable bandd

# Disable Service
sudo systemctl disable bandd

# Start Service
sudo systemctl start bandd

# Stop Service
sudo systemctl stop bandd

# Restart Service
sudo systemctl restart bandd

# Check Service Status
sudo systemctl status bandd

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

Last updated