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