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