Skip to content

CLI Cheatsheet

Key management

Add new key

hedged keys add wallet

Recover existing key

hedged keys add wallet --recover

List all keys

hedged keys list

Delete key

hedged keys delete wallet

Export key to the file

hedged keys export wallet

Import key from the file

hedged keys import wallet wallet.backup

Wallet balance

hedged q bank balances $(hedged keys show wallet -a)

Token management

Withdraw rewards from all validators

hedged tx distribution withdraw-all-rewards --from wallet --chain-id berberis-1 --gas-adjustment 1.4 --gas 200000 --gas-prices 0.0025uhedge -y

Withdraw rewards and commissions from your validator

hedged tx distribution withdraw-rewards $(hedged keys show wallet --bech val -a) --commission --from wallet --chain-id berberis-1 --gas-adjustment 1.4 --gas 200000 --gas-prices 0.0025uhedge -y

Delegate tokens to yourself

hedged tx staking delegate $(hedged keys show wallet --bech val -a) 1000000uhedge --from wallet --chain-id berberis-1 --gas-adjustment 1.4 --gas 200000 --gas-prices 0.0025uhedge -y

Delegate tokens to validator

hedged tx staking delegate <TO_VALOPER_ADDRESS> 1000000uhedge --from wallet --chain-id berberis-1 --gas-adjustment 1.4 --gas 200000 --gas-prices 0.0025uhedge -y

Redelegate tokens to another validator

hedged tx staking redelegate $(hedged keys show wallet --bech val -a) <TO_VALOPER_ADDRESS> 1000000uhedge --from wallet --chain-id berberis-1 --gas-adjustment 1.4 --gas 200000 --gas-prices 0.0025uhedge -y

Unbond tokens from your validator

hedged tx staking unbond $(hedged keys show wallet --bech val -a) 1000000uhedge --from wallet --chain-id berberis-1 --gas-adjustment 1.4 --gas 200000 --gas-prices 0.0025uhedge -y

Send tokens to the wallet

hedged tx bank send wallet <TO_WALLET_ADDRESS> 1000000uhedge --from wallet --chain-id berberis-1 --gas-adjustment 1.4 --gas 200000 --gas-prices 0.0025uhedge -y

Validator management

Validator info

hedged status 2>&1 | jq .ValidatorInfo

Validator details

hedged q staking validator $(hedged keys show wallet --bech val -a)

Check if validator key is correct

[[ $(hedged q staking validator $(hedged keys show wallet --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(hedged 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

hedged 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 all inactive validators

hedged 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

Edit existing validator

hedged 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 berberis-1 \
--commission-rate 0.05 \
--from wallet \
--gas-adjustment 1.4 \
--gas 200000 \
--gas-prices 0.0025uhedge \
-y

Jail reason

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

Unjail validator

hedged tx slashing unjail --from wallet --chain-id berberis-1 --gas-adjustment 1.4 --gas 200000 --gas-prices 0.0025uhedge -y

Governance

Create a new offer

hedged tx gov submit-proposal \
--title "" \
--description "" \
--deposit 10000000uhedge \
--type Text
--from wallet \
--gas-adjustment 1.4 \
--gas 200000 \
--gas-prices 0.0025uhedge \
-y

List all proposals

hedged query gov proposals

View proposal by ID

hedged query gov proposal 1

Vote “YES”

hedged tx gov vote 1 yes --from wallet --chain-id berberis-1 --gas-adjustment 1.4 --gas 200000 --gas-prices 0.0025uhedge -y

Vote “NO”

hedged tx gov vote 1 no --from wallet --chain-id berberis-1 --gas-adjustment 1.4 --gas 200000 --gas-prices 0.0025uhedge -y

Vote “ABSTAIN”

hedged tx gov vote 1 abstain --from wallet --chain-id berberis-1 --gas-adjustment 1.4 --gas 200000 --gas-prices 0.0025uhedge -y

Vote “NOWITHVETO”

hedged tx gov vote 1 NoWithVeto --from wallet --chain-id berberis-1 --gas-adjustment 1.4 --gas 200000 --gas-prices 0.0025uhedge -y

Maintenance

Get sync info

hedged status 2>&1 | jq .SyncInfo

Get node peer

echo $(hedged tendermint show-node-id)'@'$(wget -qO- eth0.me)':'$(cat $HOME/.hedge/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')

Get live peers

curl -sS http://localhost:12657/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/.hedge/config/config.toml

Set minimum gas price

sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.0025uhedge\"|" $HOME/.hedge/config/app.toml

Disable indexer

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

Enable indexer

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

Update pruning

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

Filter peers and max peers

sed -i -e 's|^filter_peers *=.*|filter_peers = "true"|' $HOME/.hedge/config/config.toml
sed -i -e 's|^max_num_inbound_peers *=.*|max_num_inbound_peers = "50"|' $HOME/.hedge/config/config.toml
sed -i -e 's|^max_num_outbound_peers *=.*|max_num_outbound_peers = "20"|' $HOME/.hedge/config/config.toml

Update ports

CUSTOM_PORT=126
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}66\"%" $HOME/.hedge/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/.hedge/config/app.toml

Reset chain data

hedged tendermint unsafe-reset-all --keep-addr-book --home $HOME/.hedge

Delete node

sudo systemctl stop hedged
sudo systemctl disable hedged
sudo rm -rf /etc/systemd/system/hedged.service
sudo systemctl daemon-reload
sudo rm -f $(which hedged)
sudo rm -rf $HOME/.hedge

Service Management

Status service

sudo systemctl status hedged

Start service

sudo systemctl start hedged

Stop service

sudo systemctl stop hedged

Restart service

sudo systemctl restart hedged

Logs service

sudo journalctl -u hedged -f --no-hostname -o cat

Reload service

sudo systemctl daemon-reload

Enable service

sudo systemctl enable hedged

Disable service

sudo systemctl disable hedged