Skip to main content

CLI Cheatsheet

Key management

Add New Key
haqqd keys add wallet
Recover Existing Key
haqqd keys add wallet --recover
List All Keys
haqqd keys list
Delete Key
haqqd keys delete wallet
Export Key to File
haqqd keys export wallet
Import Key From File
haqqd keys import wallet wallet.backup
Query Wallet Balance
haqqd q bank balances $(haqqd keys show wallet -a)

Validator management

Please make sure you have adjusted monikeridentitydetails and website to match your values.

Create New Validator
haqqd tx staking create-validator \
  --amount 10000000000000000000aISLM \
  --from wallet_name \
  --commission-max-change-rate "0.01" \
  --commission-max-rate "0.2" \
  --commission-rate "0.07" \
  --min-self-delegation "1000000000000000000" \
  --pubkey $(haqqd tendermint show-validator) \
  --moniker moniker_name \
  --chain-id haqq_11235-1 \
  --identity=  \
  --website="" \
  --details="" \
  --gas=auto \
  --gas-adjustment=1.2 \
  --gas-prices=0aISLM
Edit Existing Validator
haqqd tx staking edit-validator \
--new-moniker "YOUR_MONIKER_NAME" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id haqq_11235-1 \
--commission-rate 0.05 \
--from wallet_name \
--gas-adjustment 1.4 \
--gas auto \
--gas-prices 0aISLM \
-y
Unjail Validator
haqqd tx slashing unjail --from wallet --chain-id haqq_11235-1 --gas-adjustment 1.4 --gas auto --gas-prices 0aISLM -y
Jail Reason
haqqd query slashing signing-info $(haqqd tendermint show-validator)
List All  Active Validators
haqqd 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
haqqd 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
View Validator Details
haqqd q staking validator $(haqqd keys show wallet --bech val -a)

Token management

Withdraw Rewards From All Validator
haqqd tx distribution withdraw-all-rewards --from wallet --chain-id 35-C --gas-adjustment 1.4 --gas auto --gas-prices 0.025udym -y
Withdraw Commission and Rewards From Your Validator
haqqd tx distribution withdraw-rewards $(dymd keys show wallet --bech val -a) --commission --from wallet --chain-id 35-C --gas-adjustment 1.4 --gas auto --gas-prices 0.025udym -y
Delegate Tokens to Yorself
haqqd tx staking delegate $(dymd keys show wallet --bech val -a) 1000000udym --from wallet --chain-id 35-C --gas-adjustment 1.4 --gas auto --gas-prices 0.025udym -y
Delegate Elegate Tokens to Validator
haqqd tx staking delegate <TO_VALOPER_ADDRESS> 1000000udym --from wallet --chain-id 35-C --gas-adjustment 1.4 --gas auto --gas-prices 0.025udym -y
Redelegate Tokens to Another Validator
haqqd tx staking redelegate $(dymd keys show wallet --bech val -a) <TO_VALOPER_ADDRESS> 1000000udym --from wallet --chain-id 35-C --gas-adjustment 1.4 --gas auto --gas-prices 0.025udym -y
Unbound Tokens From Your Validator
haqqd tx staking unbond $(dymd keys show wallet --bech val -a) 1000000udym --from wallet --chain-id 35-C --gas-adjustment 1.4 --gas auto --gas-prices 0.025udym -y
Send Tokens to Wallet
haqqd tx bank send wallet <TO_WALLET_ADDRESS> 1000000udym --from wallet --chain-id 35-C --gas-adjustment 1.4 --gas auto --gas-prices 0.025udym -y

Utility

Update Ports
CUSTOM_PORT=53
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/.haqqd/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/.haqqd/config/app.toml
Update Indexer

Disable indexer

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

Enable indexer

sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.haqqd/config/config.toml
Update Pruning
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/.haqqd/config/app.toml

Maintenance

Get validator Info
haqqd status 2>&1 | jq .ValidatorInfo
Get Sync Info
haqqd status 2>&1 | jq .SyncInfo
Get Node Peer
echo $(haqqd tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.haqqd/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
Check If Validator Key is Correct
[[ $(haqqd q staking validator $(haqqd keys show wallet --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(haqqd 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"
Get Live Peers
curl -sS http://localhost:14657/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'
Set Minimum Gas Price
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.025aISLM\"/" $HOME/.haqqd/config/app.toml
Enable Prometheus
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.haqqd/config/config.toml
Reset Chain Data
haqqd tendermint unsafe-reset-all --keep-addr-book --home $HOME/.haqqd --keep-addr-book
Remove Node

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 haqqd
sudo systemctl disable haqqd
sudo rm /etc/systemd/system/haqqd.service
sudo systemctl daemon-reload
rm -f $(which haqqd)
rm -rf $HOME/.haqqd
rm -rf $HOME/haqq

Service Management

Reload Service Configurations
sudo systemctl daemon-reload
Enable Service
sudo systemctl enable haqqd
Disable Service
sudo systemctl disable haqqd
Start Service
sudo systemctl start haqqd
Stop Service
sudo systemctl stop haqqd
Restart Service
sudo systemctl restart haqqd
Check Service Status
sudo systemctl status haqqd
Check Service Logs
sudo journalctl -u haqqd -f --no-hostname -o cat