Useful commands
Useful set of commands for node operators. From key management to chain governance.
Last updated
Useful set of commands for node operators. From key management to chain governance.
Last updated
Chain ID: celestia | Latest Version Tag: 2.3.1
celestia-appd keys add wallet
celestia-appd keys add wallet --recover
celestia-appd keys list
celestia-appd keys delete wallet
celestia-appd keys export wallet
celestia-appd keys import wallet wallet.backup
celestia-appd q bank balances $(celestia-appd keys show wallet -a)
celestia-appd tx staking create-validator \
--amount=1000000 \
--pubkey=$(celestia-appd tendermint show-validator) \
--moniker="YOUR_MONIKER_NAME" \
--identity="YOUR_KEYBASE_ID" \
--details="YOUR_DETAILS" \
--website="YOUR_WEBSITE_URL"
--chain-id=celestia \
--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 \
-y
celestia-appd tx staking edit-validator \
--moniker="YOUR_MONIKER_NAME" \
--identity="YOUR_KEYBASE_ID" \
--details="YOUR_DETAILS" \
--website="YOUR_WEBSITE_URL"
--chain-id=celestia \
--commission-rate=0.05 \
--from=wallet \
--gas-adjustment=1.4 \
--gas=auto \
-y
celestia-appd tx slashing unjail --from wallet --chain-id celestia --gas-adjustment 1.4 --gas auto -y
celestia-appd query slashing signing-info $(celestia-appd tendermint show-validator)
celestia-appd 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
celestia-appd 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
celestia-appd q staking validator $(celestia-appd keys show wallet --bech val
celestia-appd tx distribution withdraw-all-rewards --from wallet --chain-id celestia --gas-adjustment 1.4 --gas auto -y
celestia-appd tx distribution withdraw-rewards $(celestia-appd keys show wallet --bech val -a) --commission --from wallet --chain-id celestia --gas-adjustment 1.4 --gas auto --y
celestia-appd tx staking delegate $(celestia-appd keys show wallet --bech val -a) 1000000 --from wallet --chain-id celestia --gas-adjustment 1.4 --gas auto -y
celestia-appd tx staking delegate <TO_VALOPER_ADDRESS> 1000000.celestia-app --from wallet --chain-id celestia --gas-adjustment 1.4 --gas auto -y
celestia-appd tx staking redelegate $(celestia-appd keys show wallet --bech val <TO_VALOPER_ADDRESS> 1000000 --from wallet --chain-id celestia --gas-adjustment 1.4 --gas auto -y
celestia-appd tx staking unbond $(celestia-appd keys show wallet --bech val -a) 1000000 --from wallet --chain-id celestia --gas-adjustment 1.4 --gas auto -y
celestia-appd tx bank send wallet <TO_WALLET_ADDRESS> 1000000 --from wallet --chain-id celestia
celestia-appd query gov proposals
celestia-appd query gov proposal 1
celestia-appd tx gov vote 1 yes --from wallet --chain-id celestia --gas-adjustment 1.4 --gas auto -y
celestia-appd tx gov vote 1 no --from wallet --chain-id celestia --gas-adjustment 1.4 --gas auto -y
celestia-appd tx gov vote 1 abstain --from wallet --chain-id celestia --gas-adjustment 1.4 --gas auto -y
celestia-appd tx gov vote 1 nowithveto --from wallet --chain-id celestia --gas-adjustment 1.4 --gas auto -y
CUSTOM_PORT=116
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}60\"%" $HOME/.celestia-app/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/.celestia-app/config/app.toml
Disable indexer
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.celestia-app/config/config.toml
Enable indexer
sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.celestia-app/config/config.toml
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/.celestia-app/config/app.toml
celestia-appd status 2>&1 | jq .ValidatorInfo
celestia-appd status 2>&1 | jq .SyncInfo
echo $(celestia-appd tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.celestia-app/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
[[ $(celestia-appd q staking validator $(celestia-appd keys show wallet --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(celestia-appd 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"
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)}'
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.celestia-app\"/" $HOME/.celestia-app/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.celestia-app/config/config.toml
celestia-appd tendermint unsafe-reset-all --home $HOME/.celestia-app --keep-addr-book
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 celestia-appd
sudo systemctl disable celestia-appd
sudo rm /etc/systemd/system/celestia-appd.service
sudo systemctl daemon-reload
rm -f $(which celestia-appd)
rm -rf $HOME/.celestia-app
rm -rf $HOME/celestia
sudo systemctl daemon-reload
sudo systemctl enable celestia-appd
sudo systemctl disable celestia-appd
sudo systemctl start celestia-appd
sudo systemctl stop celestia-appd
sudo systemctl restart celestia-appd
sudo systemctl status celestia-appd
sudo journalctl -u celestia-appd -f --no-hostname -o cat