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