Cheatsheet
Key Management
Add new key
swisstronikd keys add wallet
Recover existing key
swisstronikd keys add wallet --recover
List All key
swisstronikd keys list
Delete key
swisstronikd keys delete wallet
Export Key (save to wallet.backup)
swisstronikd keys export wallet
Import key
swisstronikd keys import wallet wallet.backup
Query Wallet Balance
swisstronikd q bank balances $(swisstronikd keys show wallet -a)
Web Faucet
https://faucet.testnet.swisstronik.com/
Validator Management
Create Validator
swisstronikd tx staking create-validator \
--amount 1000000uswtr \
--from wallet \
--commission-rate 0.1 \
--commission-max-rate 0.2 \
--commission-max-change-rate 0.01 \
--min-self-delegation 1 \
--pubkey $(swisstronikd tendermint show-validator) \
--moniker "Your Moniker" \
--identity "Your Keybase ID" \
--website "Your Website" \
--details "Your Details" \
--chain-id swisstronik_1291-1 \
--keyring-backend test --gas-prices 300000uswtr \
--gas-adjustment="1.5" \
--gas="auto" \
-y
Edit Validator
swisstronikd tx staking edit-validator \
--new-moniker="MONIKER" \
--from wallet \
--commission-rate 0.1 \
--identity "Your Keybase ID" \
--website "Your Website" \
--details "Your Details" \
--chain-id swisstronik_1291-1 \
--keyring-backend test --gas-prices 300000uswtr \
--gas-adjustment="1.5" \
--gas="auto" \
-y
Unjail Validator
swisstronikd tx slashing unjail --from wallet --chain-id swisstronik_1291-1 --gas-prices 300000uswtr --gas-adjustment 1.5 --gas="auto" -y
Signing Info
swisstronikd query slashing signing-info $(swisstronikd tendermint show-validator)
List all active validators
swisstronikd 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
swisstronikd 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
swisstronikd q staking validator $(swisstronikd keys show wallet --bech val -a)
Token Management
Withdraw rewards from all validators
swisstronikd tx distribution withdraw-all-rewards --from wallet --chain-id swisstronik_1291-1 --gas-prices 300000uswtr --gas-adjustment 1.5 --gas="auto" -y
Withdraw comission and rewards from your validator
swisstronikd tx distribution withdraw-rewards $(swisstronikd keys show wallet --bech val -a) --commission --from wallet --chain-id swisstronik_1291-1 --gas-prices 300000uswtr --gas-adjustment 1.5 --gas="auto" -y
Delegate to your validator
swisstronikd tx staking delegate $(swisstronikd keys show wallet --bech val -a) 1000000swtr --from wallet --chain-id swisstronik_1291-1 --gas-prices 300000uswtr --gas-adjustment 1.5 --gas="auto" -y
Delegate to other
swisstronikd tx staking delegate TO_VALOPER_ADDRESS 1000000swtr --from wallet --chain-id swisstronik_1291-1 --gas-prices 300000uswtr --gas-adjustment 1.5 --gas="auto" -y
Redelegate your stake to other validators
swisstronikd tx staking redelegate $(swisstronikd keys show wallet --bech val -a) TO_VALOPER_ADDRESS 1000000swtr --from wallet --chain-id swisstronik_1291-1 --gas-prices 300000uswtr --gas-adjustment 1.5 --gas="auto" -y
Unbond stake
swisstronikd tx staking unbond $(swisstronikd keys show wallet --bech val -a) 1000000swtr --from wallet --chain-id swisstronik_1291-1 --gas-prices 300000uswtr --gas-adjustment 1.5 --gas="auto" -y
Send tokens
swisstronikd tx bank send wallet TO_WALLET_ADDRESS 1000000swtr --from wallet --chain-id swisstronik_1291-1 --gas-prices 300000uswtr --gas-adjustment 1.5 --gas="auto" -y
Governance
List all proposals
swisstronikd query gov proposals
Vote YES / NO / ABSTAIN / NO_WITH_VETO
swisstronikd tx gov vote 1 yes --from wallet --chain-id swisstronik_1291-1 --gas-prices 300000uswtr --gas-adjustment 1.5 --gas="auto" -y
Create new text proposal
swisstronikd tx gov submit-proposal \
--title="Title" \
--description="Description" \
--deposit=100000000swtr \
--type="Text" \
--from=wallet \
--gas-prices 300000uswtr\
--gas-adjustment 1.5 \
--gas "500000" \
-y
Utility
Set Indexer NULL / KV
sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.swisstronikd /config/config.toml
Set Custom Port
CUSTOM_PORT=55
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/.swisstronikd/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/.swisstronikd/config/app.toml
Get Validator info
swisstronikd status 2>&1 | jq .ValidatorInfo
Get denom info
swisstronikd q bank denom-metadata -oj | jq
Get sync status
swisstronikd status 2>&1 | jq .SyncInfo.catching_up
Get latest height
swisstronikd status 2>&1 | jq .SyncInfo.latest_block_height
Reset Node
swisstronikd tendermint unsafe-reset-all --home $HOME/.swisstronikd --keep-addr-book
Delete Node
sudo systemctl stop swisstronikd && sudo systemctl disable swisstronikd && sudo rm /etc/systemd/system/swisstronikd.service && sudo systemctl daemon-reload && rm -rf $HOME/.swisstronikd && sudo rm -rf $(which swisstronikd)
Services Management
# Reload Service
sudo systemctl daemon-reload
# Enable Service
sudo systemctl enable swisstronikd
# Disable Service
sudo systemctl disable swisstronikd
# Start Service
sudo systemctl start swisstronikd
# Stop Service
sudo systemctl stop swisstronikd
# Restart Service
sudo systemctl restart swisstronikd
# Check Service Status
sudo systemctl status swisstronikd
# Check Service Logs
sudo journalctl -u swisstronikd -f --no-hostname -o cat
Last updated