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: ssc-1 | Latest Version Tag: v0.1.5
sscd keys add wallet
sscd keys add wallet --recover
sscd keys list
sscd keys delete wallet
sscd keys export wallet
sscd keys import wallet wallet.backup
sscd q bank balances $(sscd keys show wallet -a)
sscd tx staking create-validator \
--amount=1000000usaga \
--pubkey=$(sscd tendermint show-validator) \
--moniker="YOUR_MONIKER_NAME" \
--identity="YOUR_KEYBASE_ID" \
--details="YOUR_DETAILS" \
--website="YOUR_WEBSITE_URL"
--chain-id=ssc-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
sscd tx staking edit-validator \
--moniker="YOUR_MONIKER_NAME" \
--identity="YOUR_KEYBASE_ID" \
--details="YOUR_DETAILS" \
--website="YOUR_WEBSITE_URL"
--chain-id=ssc-1 \
--commission-rate=0.05 \
--from=wallet \
--gas-adjustment=1.4 \
--gas=auto \
-y
sscd tx slashing unjail --from wallet --chain-id ssc-1 --gas-adjustment 1.4 --gas auto -y
sscd query slashing signing-info $(sscd tendermint show-validator)
sscd 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
sscd 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
sscd q staking validator $(sscd keys show wallet --bech val
sscd tx distribution withdraw-all-rewards --from wallet --chain-id ssc-1 --gas-adjustment 1.4 --gas auto -y
sscd tx distribution withdraw-rewards $(sscd keys show wallet --bech val -a) --commission --from wallet --chain-id ssc-1 --gas-adjustment 1.4 --gas auto --y
sscd tx staking delegate $(sscd keys show wallet --bech val -a) 1000000usaga --from wallet --chain-id ssc-1 --gas-adjustment 1.4 --gas auto -y
sscd tx staking delegate <TO_VALOPER_ADDRESS> 1000000.ssc --from wallet --chain-id ssc-1 --gas-adjustment 1.4 --gas auto -y
sscd tx staking redelegate $(sscd keys show wallet --bech val <TO_VALOPER_ADDRESS> 1000000usaga --from wallet --chain-id ssc-1 --gas-adjustment 1.4 --gas auto -y
sscd tx staking unbond $(sscd keys show wallet --bech val -a) 1000000usaga --from wallet --chain-id ssc-1 --gas-adjustment 1.4 --gas auto -y
sscd tx bank send wallet <TO_WALLET_ADDRESS> 1000000usaga --from wallet --chain-id ssc-1
sscd query gov proposals
sscd query gov proposal 1
sscd tx gov vote 1 yes --from wallet --chain-id ssc-1 --gas-adjustment 1.4 --gas auto -y
sscd tx gov vote 1 no --from wallet --chain-id ssc-1 --gas-adjustment 1.4 --gas auto -y
sscd tx gov vote 1 abstain --from wallet --chain-id ssc-1 --gas-adjustment 1.4 --gas auto -y
sscd tx gov vote 1 nowithveto --from wallet --chain-id ssc-1 --gas-adjustment 1.4 --gas auto -y
CUSTOM_PORT=249
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/.ssc/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/.ssc/config/app.toml
Disable indexer
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.ssc/config/config.toml
Enable indexer
sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.ssc/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/.ssc/config/app.toml
sscd status 2>&1 | jq .ValidatorInfo
sscd status 2>&1 | jq .SyncInfo
echo $(sscd tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.ssc/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
[[ $(sscd q staking validator $(sscd keys show wallet --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(sscd 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.ssc\"/" $HOME/.ssc/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.ssc/config/config.toml
sscd tendermint unsafe-reset-all --home $HOME/.ssc --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 sscd
sudo systemctl disable sscd
sudo rm /etc/systemd/system/sscd.service
sudo systemctl daemon-reload
rm -f $(which sscd)
rm -rf $HOME/.ssc
rm -rf $HOME/saga
sudo systemctl daemon-reload
sudo systemctl enable sscd
sudo systemctl disable sscd
sudo systemctl start sscd
sudo systemctl stop sscd
sudo systemctl restart sscd
sudo systemctl status sscd
sudo journalctl -u sscd -f --no-hostname -o cat