Useful commands

Useful set of commands for node operators. From key management to chain governance.

Daemon configuration

omniflixhubd config node https://omniflixhub-rpc.lavenderfive.com:443
omniflixhubd config chain-id omniflixhub-1

🔑 Key management

Add new key

omniflixhubd keys add wallet

Recover existing key

omniflixhubd keys add wallet --recover

List all keys

omniflixhubd keys list

Delete key

omniflixhubd keys delete wallet

Export key to the file

omniflixhubd keys export wallet

Import key from the file

omniflixhubd keys import wallet wallet.backup

Query wallet balance

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

👷 Validator management

Please make sure you have adjusted moniker, identity, details and website to match your values.

Create new validator

omniflixhubd tx staking create-validator \
--amount 0uflix \
--pubkey $(omniflixhubd tendermint show-validator) \
--moniker "YOUR_MONIKER_NAME" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id omniflixhub-1 \
--commission-rate 0.05 \
--commission-max-rate 0.20 \
--commission-max-change-rate 0.01 \
--min-self-delegation 1 \
--from wallet \
--gas-adjustment 1.4 \
--gas auto \
--gas-prices 0uflix \
-y

Edit existing validator

omniflixhubd tx staking edit-validator \
--new-moniker "YOUR_MONIKER_NAME" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id omniflixhub-1 \
--commission-rate 0.05 \
--from wallet \
--gas-adjustment 1.4 \
--gas auto \
--gas-prices 0uflix \
-y

Unjail validator

omniflixhubd tx slashing unjail --from wallet --chain-id omniflixhub-1 --gas-adjustment 1.4 --gas auto --gas-prices 0uflix -y

Jail reason

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

List all active validators

omniflixhubd 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

omniflixhubd 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

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

💲 Token management

Withdraw rewards from all validators

omniflixhubd tx distribution withdraw-all-rewards --from wallet --chain-id omniflixhub-1 --gas-adjustment 1.4 --gas auto --gas-prices 0uflix -y

Withdraw commission and rewards from your validator

omniflixhubd tx distribution withdraw-rewards $(omniflixhubd keys show wallet --bech val -a) --commission --from wallet --chain-id omniflixhub-1 --gas-adjustment 1.4 --gas auto --gas-prices 0uflix -y

Delegate tokens to yourself

omniflixhubd tx staking delegate $(omniflixhubd keys show wallet --bech val -a) 0uflix --from wallet --chain-id omniflixhub-1 --gas-adjustment 1.4 --gas auto --gas-prices 0uflix -y

Delegate tokens to validator

omniflixhubd tx staking delegate <TO_VALOPER_ADDRESS> 0uflix --from wallet --chain-id omniflixhub-1 --gas-adjustment 1.4 --gas auto --gas-prices 0uflix -y

Redelegate tokens to another validator

omniflixhubd tx staking redelegate $(omniflixhubd keys show wallet --bech val -a) <TO_VALOPER_ADDRESS> 0uflix --from wallet --chain-id omniflixhub-1 --gas-adjustment 1.4 --gas auto --gas-prices 0uflix -y

Unbond tokens from your validator

omniflixhubd tx staking unbond $(omniflixhubd keys show wallet --bech val -a) 0uflix --from wallet --chain-id omniflixhub-1 --gas-adjustment 1.4 --gas auto --gas-prices 0uflix -y

Send tokens to the wallet

omniflixhubd tx bank send wallet <TO_WALLET_ADDRESS> 0uflix --from wallet --chain-id omniflixhub-1 --gas-adjustment 1.4 --gas auto --gas-prices 0uflix -y

🗳 Governance

List all proposals

omniflixhubd query gov proposals

View proposal by id

omniflixhubd query gov proposal 1

Vote 'Yes'

omniflixhubd tx gov vote 1 yes --from wallet --chain-id omniflixhub-1 --gas-adjustment 1.4 --gas auto --gas-prices 0uflix -y

Vote 'No'

omniflixhubd tx gov vote 1 no --from wallet --chain-id omniflixhub-1 --gas-adjustment 1.4 --gas auto --gas-prices 0uflix -y

Vote 'Abstain'

omniflixhubd tx gov vote 1 abstain --from wallet --chain-id omniflixhub-1 --gas-adjustment 1.4 --gas auto --gas-prices 0uflix -y

Vote 'NoWithVeto'

omniflixhubd tx gov vote 1 NoWithVeto --from wallet --chain-id omniflixhub-1 --gas-adjustment 1.4 --gas auto --gas-prices 0uflix -y

⚡️ Utility

Update ports

CUSTOM_PORT=169
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/.omniflixhub/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/.omniflixhub/config/app.toml

Update Indexer

Disable indexer

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

Enable indexer

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

Update pruning

sed -i \
  -e 's|^pruning *=.*|pruning = "custom"|' \
  -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "107"|' \
  -e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
  -e 's|^pruning-interval *=.*|pruning-interval = "13"|' \
  $HOME/.omniflixhub/config/app.toml

🚨 Maintenance

Get validator info

omniflixhubd status 2>&1 | jq .ValidatorInfo

Get sync info

omniflixhubd status 2>&1 | jq .SyncInfo

Get node peer

echo $(omniflixhubd tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.omniflixhub/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')

Check if validator key is correct

[[ $(omniflixhubd q staking validator $(omniflixhubd keys show wallet --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(omniflixhubd 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:16957/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 = \"0uflix\"/" $HOME/.omniflixhub/config/app.toml

Enable prometheus

sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.omniflixhub/config/config.toml

Reset chain data

omniflixhubd tendermint unsafe-reset-all --home $HOME/.omniflixhub --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 omniflixhubd
sudo systemctl disable omniflixhubd
sudo rm /etc/systemd/system/omniflixhubd.omniflixhubd
sudo systemctl daemon-reload
rm -f $(which omniflixhubd)
rm -rf $HOME/.omniflixhub
rm -rf $HOME/osmosis

⚙️ Service Management

Reload omniflixhubd configuration

sudo systemctl daemon-reload

Enable omniflixhubd

sudo systemctl enable omniflixhubd

Disable omniflixhubd

sudo systemctl disable omniflixhubd

Start omniflixhubd

sudo systemctl start omniflixhubd

Stop omniflixhubd

sudo systemctl stop omniflixhubd

Restart omniflixhubd

sudo systemctl restart omniflixhubd

Check omniflixhubd status

sudo systemctl status omniflixhubd

Check omniflixhubd logs

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

Last updated