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