CLI Cheatsheet
Key management
Section titled “Key management”Add new key
elysd keys add walletRecover existing key
elysd keys add wallet --recoverList all keys
elysd keys listDelete key
elysd keys delete walletExport key to the file
elysd keys export walletImport key from the file
elysd keys import wallet wallet.backupWallet balance
elysd q bank balances $(elysd keys show wallet -a)Token management
Section titled “Token management”Withdraw rewards from all validators
elysd tx distribution withdraw-all-rewards --from wallet --chain-id elys-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.0003uelys -yWithdraw rewards and commissions from your validator
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 --gas-prices 0.0003uelys -yDelegate tokens to yourself
elysd tx staking delegate $(elysd keys show wallet --bech val -a) 1000000uelys --from wallet --chain-id elys-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.0003uelys -yDelegate tokens to validator
elysd tx staking delegate <TO_VALOPER_ADDRESS> 1000000uelys --from wallet --chain-id elys-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.0003uelys -yRedelegate tokens to another validator
elysd tx staking redelegate $(elysd keys show wallet --bech val -a) <TO_VALOPER_ADDRESS> 1000000uelys --from wallet --chain-id elys-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.0003uelys -yUnbond tokens from your validator
elysd tx staking unbond $(elysd keys show wallet --bech val -a) 1000000uelys --from wallet --chain-id elys-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.0003uelys -ySend tokens to the wallet
elysd tx bank send wallet <TO_WALLET_ADDRESS> 1000000uelys --from wallet --chain-id elys-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.0003uelys -yValidator management
Section titled “Validator management”Validator info
elysd status 2>&1 | jq .validator_infoValidator details
elysd q staking validator $(elysd keys show wallet --bech val -a)Check if validator key is correct
[[ $(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"List all active validators
elysd q staking validators -oj --limit=1000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nlList all inactive validators
elysd q staking validators -oj --limit=1000 | jq '.validators[] | select(.status=="BOND_STATUS_UNBONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nlEdit existing validator
elysd tx staking edit-validator \ --new-moniker "YOUR_MONIKER_NAME" \ --identity "YOUR_KEYBASE_ID" \ --details "YOUR_DETAILS" \ --website "YOUR_WEBSITE_URL" \ --security-contact "YOUR_EMAIL_ADDRESS" \ --chain-id elys-1 \ --commission-rate 0.05 \ --from wallet \ --gas-adjustment 1.4 \ --gas auto \ --gas-prices 0.0003uelys \ -yJail reason
elysd query slashing signing-info $(elysd tendermint show-validator)Unjail validator
elysd tx slashing unjail --from wallet --chain-id elys-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.0003uelys -yGovernance
Section titled “Governance”Create a new offer
elysd tx gov submit-proposal \ --title "" \ --description "" \ --deposit 1000000uelys \ --type Text --from wallet \ --gas-adjustment 1.4 \ --gas auto \ --gas-prices 0.0003uelys \ -yList all proposals
elysd query gov proposalsView proposal by ID
elysd query gov proposal 1Vote “YES”
elysd tx gov vote 1 yes --from wallet --chain-id elys-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.0003uelys -yVote “NO”
elysd tx gov vote 1 no --from wallet --chain-id elys-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.0003uelys -yVote “ABSTAIN”
elysd tx gov vote 1 abstain --from wallet --chain-id elys-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.0003uelys -yVote “NOWITHVETO”
elysd tx gov vote 1 NoWithVeto --from wallet --chain-id elys-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.0003uelys -yMaintenance
Section titled “Maintenance”Get sync info
elysd status 2>&1 | jq .sync_infoGet node peer
echo $(elysd tendermint show-node-id)'@'$(wget -qO- eth0.me)':'$(cat $HOME/.elys/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')Get live peers
curl -sS http://localhost:16057/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'Enable Prometheus
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.elys/config/config.tomlSet minimum gas price
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.01uelys,0.001ibc/F082B65C88E4B6D5EF1DB243CDA1D331D002759E938A0F5CD3FFDC5D53B3E349,0.0002ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9,47169811320ibc/8464A63954C0350A26C8588E20719F3A0AC8705E4CA0F7450B60C3F16B2D3421\"|" $HOME/.elys/config/app.tomlDisable indexer
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.elys/config/config.tomlEnable indexer
sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.elys/config/config.tomlUpdate pruning
sed -i -e 's|^pruning *=.*|pruning = "custom"|' $HOME/.elys/config/app.tomlsed -i -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' $HOME/.elys/config/app.tomlsed -i -e 's|^pruning-interval *=.*|pruning-interval = "10"|' $HOME/.elys/config/app.tomlFilter peers and max peers
sed -i -e 's|^filter_peers *=.*|filter_peers = "true"|' $HOME/.elys/config/config.tomlsed -i -e 's|^max_num_inbound_peers *=.*|max_num_inbound_peers = "50"|' $HOME/.elys/config/config.tomlsed -i -e 's|^max_num_outbound_peers *=.*|max_num_outbound_peers = "20"|' $HOME/.elys/config/config.tomlUpdate ports
CUSTOM_PORT=160sed -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}66\"%" $HOME/.elys/config/config.tomlsed -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.tomlReset chain data
elysd tendermint unsafe-reset-all --keep-addr-book --home $HOME/.elysDelete node
sudo systemctl stop elysdsudo systemctl disable elysdsudo rm -rf /etc/systemd/system/elysd.servicesudo systemctl daemon-reloadsudo rm -f $(which elysd)sudo rm -rf $HOME/.elyssudo rm -rf $HOME/elysService Management
Section titled “Service Management”Status service
sudo systemctl status elysdStart service
sudo systemctl start elysdStop service
sudo systemctl stop elysdRestart service
sudo systemctl restart elysdLogs service
sudo journalctl -u elysd -f --no-hostname -o catReload service
sudo systemctl daemon-reloadEnable service
sudo systemctl enable elysdDisable service
sudo systemctl disable elysd