Useful Commands
π Key Managementβ
Add new keyβ
initiad keys add your-wallet
Recover existing keyβ
initiad keys add your-wallet --recover
List all keysβ
initiad keys list
Delete keyβ
initiad keys delete your-wallet
Export key to a fileβ
initiad keys export your-wallet
Import key from a fileβ
initiad keys import your-wallet your-wallet.backup
Query your-wallet balanceβ
initiad q bank balances $(initiad keys show your-wallet -a)
π· Validator Managementβ
Create new validator (One-line)β
initiad tx staking create-validator \
--amount 1000000uinit \
--pubkey $(initiad tendermint show-validator) \
--moniker "YOUR_MONIKER_NAME" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id interwoven-1 \
--commission-rate 0.05 \
--commission-max-rate 0.20 \
--commission-max-change-rate 0.05 \
--min-self-delegation 1 \
--from your-wallet \
--gas-adjustment 1.4 \
--gas auto \
--gas-prices 0.005uinit \
-y
Create new validator (JSON/Multi-line)β
initiad tx staking create-validator <(cat <<EOF
{
"pubkey": $(initiad comet show-validator),
"amount": "1000000uinit",
"moniker": "YOUR_MONIKER_NAME",
"identity": "YOUR_KEYBASE_ID",
"website": "YOUR_WEBSITE_URL",
"security": "YOUR_SECURITY_EMAIL",
"details": "YOUR_DETAILS",
"commission-rate": "0.05",
"commission-max-rate": "0.20",
"commission-max-change-rate": "0.05",
"min-self-delegation": "1"
}
EOF
) \
--chain-id interwoven-1 \
--from your-wallet \
--gas-adjustment 1.4 \
--gas auto \
--gas-prices 0.005uinit \
-y
Edit existing validatorβ
initiad tx staking edit-validator \
--new-moniker "YOUR_MONIKER_NAME" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id interwoven-1 \
--commission-rate 0.05 \
--from your-wallet \
--gas-adjustment 1.4 \
--gas auto \
--gas-prices 0.005uinit \
-y
Unjail validatorβ
initiad tx slashing unjail --from your-wallet --chain-id interwoven-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.005uinit -y
Jail reasonβ
initiad query slashing signing-info $(initiad tendermint show-validator)
List all active validatorsβ
initiad 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β
initiad 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β
initiad q staking validator $(initiad keys show your-wallet --bech val -a)
π² Token Managementβ
Withdraw rewards from all validatorsβ
initiad tx distribution withdraw-all-rewards --from your-wallet --chain-id interwoven-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.005uinit -y
Withdraw commission and rewards from your validatorβ
initiad tx distribution withdraw-rewards $(initiad keys show your-wallet --bech val -a) --commission --from your-wallet --chain-id interwoven-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.005uinit -y
Delegate tokens to yourselfβ
initiad tx staking delegate $(initiad keys show your-wallet --bech val -a) 1000000uinit --from your-wallet --chain-id interwoven-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.005uinit -y
Delegate tokens to validatorβ
initiad tx staking delegate <VALIDATOR_ADDRESS> 1000000uinit --from your-wallet --chain-id interwoven-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.005uinit -y
Redelegate tokens to another validatorβ
initiad tx staking redelegate $(initiad keys show your-wallet --bech val -a) <NEW_VALIDATOR_ADDRESS> 1000000uinit --from your-wallet --chain-id interwoven-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.005uinit -y
Unbond tokens from your validatorβ
initiad tx staking unbond $(initiad keys show your-wallet --bech val -a) 1000000uinit --from your-wallet --chain-id interwoven-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.005uinit -y
Send tokens to another addressβ
initiad tx bank send your-wallet <RECIPIENT_ADDRESS> 1000000uinit --from your-wallet --chain-id interwoven-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.005uinit -y
π³ Governanceβ
List all proposalsβ
initiad query gov proposals
View proposal by idβ
initiad query gov proposal 1
Vote βYesββ
initiad tx gov vote 1 yes --from your-wallet --chain-id interwoven-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.005uinit -y
Vote βNoββ
initiad tx gov vote 1 no --from your-wallet --chain-id interwoven-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.005uinit -y
Vote βAbstainββ
initiad tx gov vote 1 abstain --from your-wallet --chain-id interwoven-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.005uinit -y
Vote βNoWithVetoββ
initiad tx gov vote 1 NoWithVeto --from your-wallet --chain-id interwoven-1 --gas-adjustment 1.4 --gas auto --gas-prices 0.005uinit -y
Utilityβ
Update portsβ
CUSTOM_PORT=110
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/.initia/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/.initia/config/app.toml
β‘οΈ Update Indexerβ
Disable indexerβ
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.initia/config/config.toml
Enable indexerβ
sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.initia/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/.initia/config/app.toml
π¨ Maintenanceβ
Get validator infoβ
initiad status 2>&1 | jq .ValidatorInfo
Get sync infoβ
initiad status 2>&1 | jq .SyncInfo
Get node peerβ
echo $(initiad tendermint show-node-id)'@'$(curl -4 -s ifconfig.me)':'$(cat $HOME/.initia/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
Check if validator key is correctβ
[[ $(initiad q staking validator $(initiad keys show your-wallet --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(initiad 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 (using net_info endpoint)β
curl -sS http://localhost:26657/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'
Check live peers (ping test)β
curl -s localhost:26657/net_info | jq -r '.result.peers[].remote_ip' | xargs -n 1 ping -n -c 1 | grep "64 bytes from"
Set minimum gas priceβ
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.005uinit\"/" $HOME/.initia/config/app.toml
Enable prometheusβ
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.initia/config/config.toml
Reset chain dataβ
initiad tendermint unsafe-reset-all --home $HOME/.initia --keep-addr-book
Remove nodeβ
warning
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 initiad
sudo systemctl disable initiad
sudo rm /etc/systemd/system/initiad.service
sudo systemctl daemon-reload
rm -f $(which initiad)
rm -rf $HOME/.initia
Update Hostnameβ
sudo hostnamectl set-hostname initiad-node
Get IP Addressβ
wget -qO- eth0.me
βοΈ Service Managementβ
Reload service configurationβ
sudo systemctl daemon-reload
Enable serviceβ
sudo systemctl enable initiad
Disable serviceβ
sudo systemctl disable initiad
Start serviceβ
sudo systemctl start initiad
Stop serviceβ
sudo systemctl stop initiad
Restart serviceβ
sudo systemctl restart initiad
Check service statusβ
sudo systemctl status initiad
Check service logsβ
sudo journalctl -u initiad -f