Useful commands
Useful set of commands for node operators. From key management to chain governance.
Last updated
Useful set of commands for node operators. From key management to chain governance.
Last updated
Chain ID: stride-1 | Latest Version Tag: v24.0.0
strided keys add wallet
strided keys add wallet --recover
strided keys list
strided keys delete wallet
strided keys export wallet
strided keys import wallet wallet.backup
strided q bank balances $(strided keys show wallet -a)
strided tx staking create-validator \
--amount=1000000ustrd \
--pubkey=$(strided tendermint show-validator) \
--moniker="YOUR_MONIKER_NAME" \
--identity="YOUR_KEYBASE_ID" \
--details="YOUR_DETAILS" \
--website="YOUR_WEBSITE_URL"
--chain-id=stride-1 \
--commission-rate=0.05 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.01 \
--min-self-delegation=1 \
--from=wallet \
--gas-adjustment=1.4 \
--gas=auto \
-y
strided tx staking edit-validator \
--moniker="YOUR_MONIKER_NAME" \
--identity="YOUR_KEYBASE_ID" \
--details="YOUR_DETAILS" \
--website="YOUR_WEBSITE_URL"
--chain-id=stride-1 \
--commission-rate=0.05 \
--from=wallet \
--gas-adjustment=1.4 \
--gas=auto \
-y
strided tx slashing unjail --from wallet --chain-id stride-1 --gas-adjustment 1.4 --gas auto -y
strided query slashing signing-info $(strided tendermint show-validator)
strided 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
strided 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
strided q staking validator $(strided keys show wallet --bech val
strided tx distribution withdraw-all-rewards --from wallet --chain-id stride-1 --gas-adjustment 1.4 --gas auto -y
strided tx distribution withdraw-rewards $(strided keys show wallet --bech val -a) --commission --from wallet --chain-id stride-1 --gas-adjustment 1.4 --gas auto --y
strided tx staking delegate $(strided keys show wallet --bech val -a) 1000000ustrd --from wallet --chain-id stride-1 --gas-adjustment 1.4 --gas auto -y
strided tx staking delegate <TO_VALOPER_ADDRESS> 1000000.stride --from wallet --chain-id stride-1 --gas-adjustment 1.4 --gas auto -y
strided tx staking redelegate $(strided keys show wallet --bech val <TO_VALOPER_ADDRESS> 1000000ustrd --from wallet --chain-id stride-1 --gas-adjustment 1.4 --gas auto -y
strided tx staking unbond $(strided keys show wallet --bech val -a) 1000000ustrd --from wallet --chain-id stride-1 --gas-adjustment 1.4 --gas auto -y
strided tx bank send wallet <TO_WALLET_ADDRESS> 1000000ustrd --from wallet --chain-id stride-1
strided query gov proposals
strided query gov proposal 1
strided tx gov vote 1 yes --from wallet --chain-id stride-1 --gas-adjustment 1.4 --gas auto -y
strided tx gov vote 1 no --from wallet --chain-id stride-1 --gas-adjustment 1.4 --gas auto -y
strided tx gov vote 1 abstain --from wallet --chain-id stride-1 --gas-adjustment 1.4 --gas auto -y
strided tx gov vote 1 nowithveto --from wallet --chain-id stride-1 --gas-adjustment 1.4 --gas auto -y
CUSTOM_PORT=122
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}60\"%" $HOME/.stride/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/.stride/config/app.toml
Disable indexer
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.stride/config/config.toml
Enable indexer
sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.stride/config/config.toml
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/.stride/config/app.toml
strided status 2>&1 | jq .ValidatorInfo
strided status 2>&1 | jq .SyncInfo
echo $(strided tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.stride/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
[[ $(strided q staking validator $(strided keys show wallet --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(strided 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"
curl -sS http://localhost:26657/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.stride\"/" $HOME/.stride/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.stride/config/config.toml
strided tendermint unsafe-reset-all --home $HOME/.stride --keep-addr-book
Please, before proceeding with the next step! All chain data will be lost! Make sure you have backed up your priv_validator_key.json!
cd $HOME
sudo systemctl stop strided
sudo systemctl disable strided
sudo rm /etc/systemd/system/strided.service
sudo systemctl daemon-reload
rm -f $(which strided)
rm -rf $HOME/.stride
rm -rf $HOME/stride
sudo systemctl daemon-reload
sudo systemctl enable strided
sudo systemctl disable strided
sudo systemctl start strided
sudo systemctl stop strided
sudo systemctl restart strided
sudo systemctl status strided
sudo journalctl -u strided -f --no-hostname -o cat