Useful commands
List of commands used to manage the validator and node
Wallet interaction
Create Wallet
dymd keys add <WALLET_NAME>
Restore wallet
dymd keys add <WALLET_NAME> --recover
Show all wallets
Delete wallet
dymd keys delete <WALLET_NAME>
Export wallet
dymd keys export <WALLET_NAME>
Import wallet
dymd keys import <WALLET_NAME> <WALLET_NAME>.backup
Show balance
dymd q bank balances $(dymd keys show <WALLET_NAME> -a)
Validator control
Create a validator
dymd tx staking create-validator \
--commission-rate 0.1 \
--commission-max-rate 1 \
--commission-max-change-rate 1 \
--min-self-delegation "1000000" \
--amount 1000000udym \
--pubkey $(dymd tendermint show-validator) \
--from <WALLET_NAME> \
--moniker=<YOUR_MONIKER> \
--chain-id="froopyland_100-1" \
--identity="<YOUR_KEYBASE_ID>" \
--website="<YOUR_WEBSITE>" \
--details="<YOUR_DETAILS>" -y
Edit validator
dymd tx staking edit-validator \
--new-moniker "<YOUR_MONIKER>" \
--identity "<YOUR_KEYBASE_ID>" \
--details "<YOUR_DETAILS>" \
--website "<YOUR_WEBSITE_URL>" \
--chain-id froopyland_100-1 \
--commission-rate 0.05 \
--from <WALLET_NAME> \
--gas-adjustment 1.4 \
--gas auto \
--gas-prices 0.025udym -y
Unjail
dymd tx slashing unjail --from <WALLET_NAME> --chain-id froopyland_100-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.025udym -y
Jail reason
dymd query slashing signing-info $(dymd tendermint show-validator)
Active validators
dymd 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
Inactive validators
dymd 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
Information about the validator
dymd q staking validator $(dymd keys show <WALLET_NAME> --bech val -a)
Balance management
Withdrawal of all rewards
dymd tx distribution withdraw-all-rewards --from <WALLET_NAME> --chain-id froopyland_100-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.025udym -y
Withdrawal of rewards and commissions
dymd tx distribution withdraw-rewards $(dymd keys show <WALLET_NAME> --bech val -a) --commission --from <WALLET_NAME> --chain-id froopyland_100-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.025udym -y
Self-delegation
dymd tx staking delegate $(dymd keys show <WALLET_NAME> --bech val -a) 1000000udym --from <WALLET_NAME> --chain-id froopyland_100-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.025udym -y
Delegation to validator
dymd tx staking delegate <TO_VALOPER_ADDRESS> 1000000udym --from <WALLET_NAME> --chain-id froopyland_100-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.025udym -y
Redelegation to another validator
dymd tx staking redelegate $(dymd keys show <WALLET_NAME> --bech val -a) <TO_VALOPER_ADDRESS> 1000000udym --from <WALLET_NAME> --chain-id froopyland_100-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.025udym -y
Unbond tokens
dymd tx staking unbond $(dymd keys show <WALLET_NAME> --bech val -a) 1000000udym --from <WALLET_NAME> --chain-id froopyland_100-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.025udym -y
Sending tokens to a wallet
dymd tx bank send <WALLET_NAME> <TO_WALLET_ADDRESS> 1000000udym --from <WALLET_NAME> --chain-id froopyland_100-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.025udym -y
Governance
All proposals
dymd query gov proposals
All proposals by ID
dymd query gov proposal 1
Vote "YES"
dymd tx gov vote 1 yes --from <WALLET_NAME> --chain-id froopyland_100-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.025udym -y
Vote "NO"
dymd tx gov vote 1 no --from <WALLET_NAME> --chain-id froopyland_100-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.025udym -y
Vote "Abstain"
dymd tx gov vote 1 abstain --from <WALLET_NAME> --chain-id froopyland_100-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.025udym -y
Vote "NoWithVeto"
dymd tx gov vote 1 NoWithVeto --from <WALLET_NAME> --chain-id froopyland_100-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.025udym -y
Utility
Update ports
CUSTOM_PORT=10
sed -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/.dymension/config/config.toml
sed -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/.dymension/config/app.toml
Disable Indexer
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.dymension/config/config.toml
Enable Indexer
sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.dymension/config/config.toml
Update pruning
sed -i \
-e 's|^pruning *=.*|pruning = "custom"|' \
-e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
-e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
-e 's|^pruning-interval *=.*|pruning-interval = "19"|' \
$HOME/.dymension/config/app.toml
Node support
Validator Info
dymd status 2>&1 | jq .ValidatorInfo
Sync info
dymd status 2>&1 | jq .SyncInfo
Deleting a node
Before deleting a node make sure you save priv_validator_key.json
cd $HOME
sudo systemctl stop dymd
sudo systemctl disable dymd
sudo rm /etc/systemd/system/dymd.service
sudo systemctl daemon-reload
rm -f $(which dymd)
rm -rf $HOME/.dymension
rm -rf $HOME/dymension
Service setup
Reload service configuration
sudo systemctl daemon-reload
Enable service
sudo systemctl enable dymd
Disable service
sudo systemctl disable dymd
Start service
sudo systemctl start dymd
Stop service
sudo systemctl stop dymd
Restart service
sudo systemctl restart dymd
Check service status
sudo systemctl status dymd
Check service logs
sudo journalctl -u dymd -f --no-hostname -o cat
Last updated