Page cover image

Cheat Sheet

Wallet operations

Create wallet

⚠️ store seed phrase, important during recovering

elysd keys add <YOUR_WALLET_NAME>

Recover wallet

⚠️ store seed phrase, important during recovering

elysd keys add <YOUR_WALLET_NAME> --recover

List of all wallets

elysd keys list

Delete wallet

elysd keys delete <YOUR_WALLET_NAME>

Export wallet

⚠️ save to wallet.backup

elysd keys export <YOUR_WALLET_NAME>

Import wallet

elysd keys import <WALLET_NAME> wallet.backup

Check wallet balance

elysd q bank balances $(elysd keys show <YOUR_WALLET_NAME> -a)

Validator operations

Create validator

elysd tx staking create-validator \
--amount=1000000uelys \
--pubkey=$(elysd tendermint show-validator) \
--moniker="<Your moniker>" \
--identity=<Your identity> \
--details="<Your details>" \
--chain-id=elysicstestnet-1 \
--commission-rate=0.05 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.1 \
--min-self-delegation=1 \
--from=<YOUR_WALLET> \
--gas-prices=0.003uelys \
--gas-adjustment=1.4 \
--gas=auto \
-y

Edit validator

elysd tx staking edit-validator \
--new-moniker="<Your moniker>" \
--identity=<your identity> \
--details="<Your details>" \
--commission-rate=0.1 \
--from=<YOUR_WALLET> \
--gas-prices=0.003uelys \
--gas-adjustment=1.4 \
--gas=auto \
-y

Unjail your validator

elysd tx slashing unjail --from <YOUR_WALLET> --gas-prices 0.003uelys --gas-adjustment 1.4 --gas auto -y

Check blocks info processed by your validator

elysd query slashing signing-info $(elysd tendermint show-validator)

List of active validators

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

List of inactive validators

elysd 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

Info about your validator

elysd q staking validator $(elysd keys show <YOUR_WALLET_NAME> --bech val -a)

Transactions

Get your rewards from all validators

elysd tx distribution withdraw-all-rewards --from <YOUR_WALLET> --gas-prices 0.003uelys --gas-adjustment 1.4 --gas auto -y

Get rewards and commissions from your validator

elysd tx distribution withdraw-rewards $(elysd keys show <YOUR_WALLET_NAME> --bech val -a) --commission --from <YOUR_WALLET> --gas-prices 0.003uelys --gas-adjustment 1.4 --gas auto -y

Delegate tokens to your validator

elysd tx staking delegate $(elysd keys show <YOUR_WALLET_NAME> --bech val -a) 1000000uelys --from <YOUR_WALLET> --gas-prices 0.003uelys --gas-adjustment 1.4 --gas auto -y

Delegate tokens to validator

elysd tx staking delegate <VALOPER_ADDRESS> 1000000uelys --from <YOUR_WALLET> --gas-prices 0.003uelys --gas-adjustment 1.4 --gas auto -y

Redelegate tokens to another validator

elysd tx staking redelegate <SRC_VALOPER_ADDRESS> <TARGET_VALOPER_ADDRESS> 1000000uelys --from <WALLET> --gas-prices 0.003uelys --gas-adjustment 1.4 --gas auto -y

Unbound tokens from validator

⚠️ it’s can take a while, ~21 days, depends on network’s parameters

elysd tx staking unbond <VALOPER_ADDRESS> 1000000uelys --from <YOUR_WALLET> --gas-prices 0.003uelys --gas-adjustment 1.4 --gas auto -y

Send tokens to another wallet

elysd tx bank send <YOUR_WALLET_ADDRESS> <TARGET_WALLET_ADDRESS> 1000000uelys --from <YOUR_WALLET_ADDRESS> --gas-prices 0.003uelys --gas-adjustment 1.4 --gas auto -y

Check info about transaction by hash TX_HASH

elysd query tx <TX_HASH>

Governance

Submit text proposal

elysd tx gov submit-proposal \
--title="<Your Title>" \
--description="<Your Description>" \
--deposit=1000000uelys \
--type="Text" \
--from=<WALLET_ADDRESS> \
--gas-prices=0.003uelys \
--gas-adjustment=1.4 \
--gas=auto \
-y

List of all proposals

elysd query gov proposals

Check proposal info by proposal id

elysd query gov proposal <proposal_id>

Deposit proposal by proposal id

elysd tx gov deposit 1 1000000uelys --from <YOUR_WALLET> --gas-prices 0.003uelys --gas-adjustment 1.4 --gas auto -y

Vote as, YES

elysd tx gov vote 1 yes --from <YOUR_WALLET> --gas-prices 0.003uelys --gas-adjustment 1.4 --gas auto -y

Vote as, NO

elysd tx gov vote 1 no --from <YOUR_WALLET> --gas-prices 0.003uelys --gas-adjustment 1.4 --gas auto -y

Vote as, NO_WITH_VETO

elysd tx gov vote 1 no_with_veto --from <YOUR_WALLET> --gas-prices 0.003uelys --gas-adjustment 1.4 --gas auto -y

Vote as, ABSTAIN

elysd tx gov vote 1 abstain --from <YOUR_WALLET> --gas-prices 0.003uelys --gas-adjustment 1.4 --gas auto -y

Utils

Change ports to custom

sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:36658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:36657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:7060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:36656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":36660\"%" $HOME/.elys/config/config.toml && \
sed -i.bak -e "s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:10090\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:10091\"%; s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:2317\"%" $HOME/.elys/config/app.toml && \
sed -i.bak -e "s%^node = \"tcp://localhost:26657\"%node = \"tcp://localhost:36657\"%" $HOME/.elys/config/client.toml

Turn on indexing

sed -i 's|^indexer *=.*|indexer = "kv"|' $HOME/.elys/config/config.toml

Turn off indexing

sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.elys/config/config.toml

Setup custom prunning

APP_TOML="~/.elys/config/app.toml"
sed -i 's|^pruning *=.*|pruning = "custom"|' $APP_TOML
sed -i 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' $APP_TOML
sed -i 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' $APP_TOML
sed -i 's|^pruning-interval *=.*|pruning-interval = "10"|' $APP_TOML

Check your peer

echo $(elysd tendermint show-node-id)@$(curl http://ifconfig.me/)$(grep -A 3 "\[p2p\]" ~/.elys/config/config.toml | egrep -o ":[0-9]+")

Check your RPC

echo -e "\033[0;32m$(grep -A 3 "\[rpc\]" ~/.elys/config/config.toml | egrep -o ":[0-9]+")\033[0m"

Check information about validator

elysd status 2>&1 | jq .ValidatorInfo

Check synchronisation status (false - synced, true - not synced)

elysd status 2>&1 | jq .SyncInfo.catching_up

Check the latest block

elysd status 2>&1 | jq .SyncInfo.latest_block_height

Reset network

elysd tendermint unsafe-reset-all --home $HOME/.elys --keep-addr-book

Delete node

sudo systemctl stop elysd && \
sudo systemctl disable elysd && \
sudo rm /etc/systemd/system/elysd.service && \
sudo systemctl daemon-reload && \
rm -rf $HOME/.elys && \
rm -rf $HOME/elys

Check IP address of the server

wget -qO- eth0.me

Check network parameters

elysd q staking params
elysd q slashing params

Check validator private key is correct

[[ $(elysd q staking validator $(elysd keys show <YOUR_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"

Search all output transactions by address

elysd q txs --events transfer.sender=<ADDRESS> 2>&1 | jq | grep txhash

Search all input transactions by address

elysd q txs --events transfer.recipient=<ADDRESS> 2>&1 | jq | grep txhash

Service management

Reload services

sudo systemctl daemon-reload

Enable service

sudo systemctl enable elysd

Disable service

sudo systemctl disable elysd

Start service

sudo systemctl start elysd

Stop service

sudo systemctl stop elysd

Restart service

sudo systemctl restart elysd

Check service status

sudo systemctl status elysd

Check service logs

sudo journalctl -u elysd -f -o cat

Last updated