Useful commands
List of commands used to manage the validator and node
Wallet interaction
Create Wallet
celestia-appd keys add <WALLET_NAME>
Restore wallet
celestia-appd keys add <WALLET_NAME> --recover
Show all wallets
celestia-appd keys list
Delete wallet
celestia-appd keys delete <WALLET_NAME>
Export wallet
celestia-appd keys export <WALLET_NAME>
Import wallet
celestia-appd keys import <WALLET_NAME> <WALLET_NAME>.backup
Show balance
celestia-appd Query <WALLET_NAME> balance
Validator control
Create a validator
celestia-appd tx staking create-validator \
--amount 1000000utia \
--from <WALLET_NAME> \
--commission-max-change-rate "0.01" \
--commission-max-rate "0.2" \
--commission-rate "0.05" \
--min-self-delegation "1" \
--pubkey $(celestia-appd tendermint show-validator) \
--moniker <YOUR_MONIKER> \
--chain-id mocha-4 \
--fees 5000utia \
--gas 1000000 \
--gas-adjustment 1.3 -y
Edit validator
celestia-appd tx staking edit-validator \
--new-moniker="<YOUR_MONIKER>" \
--identity="<YOUR_KEYBASE_ID>" \
--details="<YOUR_DETAILS>" \
--website="<YOUR_WEBSITE_URL>"
--chain-id=mocha-4 \
--commission-rate="0.10" \
--from=<WALLET_NAME> \
--fees 5000utia -y
Unjail
celestia-appd tx slashing unjail --from <WALLET_NAME> --chain-id mocha-4 --fees 100utia -y
Jail reason
celestia-appd query slashing signing-info $(celestia-appd tendermint show-validator)
Active validators
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
Inactive validators
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
Information about the validator
celestia-appd q staking validator $(celestia-appd keys show <WALLET_NAME> --bech val -a)
Balance management
Withdrawal of all rewards
celestia-appd tx distribution withdraw-all-rewards --from <WALLET_NAME> --chain-id mocha-4 --fees 100utia -y
Withdrawal of rewards and commissions
celestia-appd tx distribution withdraw-rewards $(sourced keys show <WALLET_NAME> --bech val -a) --commission --from <WALLET_NAME> --chain-id mocha-4 --fees 100utia -y
Self-delegation
celestia-appd tx staking delegate $(sourced keys show <WALLET_NAME> --bech val -a) 1000000utia --from <WALLET_NAME> --chain-id mocha-4 --fees 100utia -y
Delegation to validator
celestia-appd tx staking delegate <TO_VALOPER_ADDRESS> 1000000utia --from <WALLET_NAME> --chain-id mocha-4 --fees 100utia -y
Redelegation to another validator
celestia-appd tx staking redelegate $(sourced keys show <WALLET_NAME> --bech val -a) <TO_VALOPER_ADDRESS> 1000000utia --from <WALLET_NAME> --chain-id mocha-4 --fees 100utia -y
Unbond tokens
celestia-appd tx staking unbond $(sourced keys show <WALLET_NAME> --bech val -a) 1000000utia --from <WALLET_NAME> --chain-id mocha-4 --fees 100utia
Sending tokens to a wallet
celestia-appd tx bank send <WALLET_NAME> <TO_WALLET_ADDRESS> 1000000utia --from <WALLET_NAME> --fees 100utia --chain-id mocha-4
Governance
All proposals
celestia-appd query gov proposals
All proposals by ID
celestia-appd query gov proposal 1
Vote "YES"
celestia-appd tx gov vote 1 yes --from <WALLET_NAME> --chain-id mocha-4 --fees 100utia -y
Vote "NO"
celestia-appd tx gov vote 1 no --from <WALLET_NAME> --chain-id mocha-4 --fees 100utia -y
Vote "Abstain"
celestia-appd tx gov vote 1 abstain --from <WALLET_NAME> --chain-id mocha-4 --fees 100utia -y
Vote "NoWithVeto"
celestia-appd tx gov vote 1 nowithveto --from <WALLET_NAME> --chain-id mocha-4 --fees 100utia -y
Utility
Update ports
CUSTOM_PORT=10
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${CUSTOM_PORT}658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${CUSTOM_PORT}657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${CUSTOM_PORT}060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${CUSTOM_PORT}656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${CUSTOM_PORT}660\"%" $HOME/.celestia-app/config/config.toml
sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${CUSTOM_PORT}317\"%; s%^address = \":8080\"%address = \":${CUSTOM_PORT}080\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${CUSTOM_PORT}090\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${CUSTOM_PORT}091\"%" $HOME/.celestia-app/config/app.toml
Disable Indexer
sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.celestia-app/config/config.toml
Enable Indexer
sed -i 's|^indexer *=.*|indexer = "kv"|' $HOME/.celestia-app/config/config.toml
Update pruning
sed -i.bak -e 's|^pruning *=.*|pruning = "custom"|; s|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|; s|^pruning-keep-every *=.*|pruning-keep-every = "0"|; s|^pruning-interval *=.*|pruning-interval = "10"|' $HOME/.celestia-app/config/app.toml
Node support
Validator Info
celestia-appd status 2>&1 | jq .ValidatorInfo
Sync info
celestia-appd status 2>&1 | jq .SyncInfo
Deleting a node
Before deleting a node make sure you save priv_validator_key.json
sudo systemctl stop celestia-appd && \
sudo systemctl disable celestia-appd && \
rm /etc/systemd/system/celestia-appd.service && \
sudo systemctl daemon-reload && \
cd $HOME && \
rm -rf .celestia-app && \
rm -rf $(which celestia-appd)
Service setup
Reload service configuration
sudo systemctl daemon-reload
Enable service
sudo systemctl enable celestia-appd
Disable service
sudo systemctl disable celestia-appd
Start service
sudo systemctl start celestia-appd
Stop service
sudo systemctl stop celestia-appd
Restart service
sudo systemctl restart celestia-appd
Check service status
sudo systemctl status celestia-appd
Check service logs
sudo journalctl -u celestia-appd -f --no-hostname -o cat
Last updated