CLI Cheatsheet
This cheatsheet collects commonly used CLI commands for node operators to easily copy and paste. A few conventions we follow:
- Capitalized words indicate placeholders
- Always specify --chain-id and --node flags even when they are unnecessary
- Query CLI command always uses --output json flag and pipes result through jq
Managing keys
Check balance
oraid q bank balances KEY
Create wallet
oraid keys add KEY
Import wallet
oraid keys add KEY --recover
List wallets
oraid keys list
Delete wallet
oraid keys delete KEY
Validators
Create validator
oraid tx staking create-validator \
--amount=1000000nhash \
--pubkey=$(oraid tendermint show-validator) \
--moniker=YOURMONIKER \
--identity=YOUR_KEYBASE_ID \
--details="This is will be display in the blockchain explorer. Write here something about you" \
--chain-id=Oraichain \
--commission-rate=0.10 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.01 \
--min-self-delegation=1 \
--from=KEY \
--fees 1000orai \
-y
Edit validator
oraid tx staking edit-validator \
--new-moniker=YOUR_MONIKER \
--identity=YOUR_KEYBASE_ID \
--details="This is will be display in the blockchain explorer. Write here something about you" \
--chain-id=Oraichain \
--commission-rate=0.1 \
--from=KEY \
--fees 1000orai \
-y
Unjail validator
oraid tx slashing unjail --chain-id=Oraichain --from KEY --fees 1000orai \ -y
Validator info
oraid q staking validator $(oraid keys show KEY --bech val -a)
Governance
Query proposal
oraid query gov proposal PROPOSAL_NUMBER --chain-id=Oraichain --output json | jq
VOTE_OTION: yes, no, no_with_veto and abstain.
Vote proposal
oraid tx gov vote PROPOSAL_NUMBER VOTE_OTION --from KEY --chain-id Oraichain
Tokens
Send token
oraid tx bank send WALLET_SENDER WALLET_RECEIVER 1000000nhash --chain-id=Oraichain --fees 1000orai --gas=auto
Withdraw reward
oraid tx distribution withdraw-all-rewards --from KEY
Withdraw reward and commission
oraid tx distribution withdraw-rewards YOUR_VALIDATOR_NUMBER --from KEY --commission --fees 1000orai --gas=auto
Config
Use custom port
CUSTOM_PORT=267
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/.oraid/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/.oraid/config/app.toml
Set minimum gas prices
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.01orai\"/" $HOME/.oraid/config/app.toml
Enable prometheus
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.oraid/config/config.toml
Reset chain data
oraid tendermint unsafe-reset-all --keep-addr-book --home $HOME/.oraid --keep-addr-book
Pruning config recomended for validator nodes
Disable indexer in config.toml
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.oraid/config/config.toml
Configure pruning in app.toml
sed -i \
-e 's|^pruning *=.*|pruning = "custom"|' \
-e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
-e 's|^pruning-interval *=.*|pruning-interval = "10"|' \
$HOME/.oraid/config/app.toml