Cheat Sheet
Wallet operations
Create wallet
⚠️ store seed phrase, important during recovering
celestia-appd keys add <YOUR_WALLET_NAME>Recover wallet
⚠️ store seed phrase, important during recovering
celestia-appd keys add <YOUR_WALLET_NAME> --recoverList of all wallets
celestia-appd keys listDelete wallet
celestia-appd keys delete <YOUR_WALLET_NAME>Export wallet
⚠️ save to wallet.backup
celestia-appd keys export <YOUR_WALLET_NAME>Import wallet
celestia-appd keys import <WALLET_NAME> wallet.backupCheck wallet balance
celestia-appd q bank balances $(celestia-appd keys show <YOUR_WALLET_NAME> -a)Validator operations
Create validator
celestia-appd tx staking create-validator \
--amount=1000000utia \
--pubkey=$(celestia-appd tendermint show-validator) \
--moniker="<Your moniker>" \
--identity=<Your identity> \
--details="<Your details>" \
--chain-id=celestia \
--commission-rate=0.05 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.1 \
--min-self-delegation=1 \
--from=<YOUR_WALLET> \
--gas-prices=0.002utia \
--gas-adjustment=1.4 \
--gas=auto \
-yEdit validator
celestia-appd tx staking edit-validator \
--new-moniker="<Your moniker>" \
--identity=<your identity> \
--details="<Your details>" \
--commission-rate=0.1 \
--from=<YOUR_WALLET> \
--gas-prices=0.002utia \
--gas-adjustment=1.4 \
--gas=auto \
-yUnjail your validator
celestia-appd tx slashing unjail --from <YOUR_WALLET> --gas-prices 0.002utia --gas-adjustment 1.4 --gas auto -yCheck blocks info processed by your validator
celestia-appd query slashing signing-info $(celestia-appd tendermint show-validator)List of 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 | nlList of inactive validators
celestia-appd q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_UNBONDED") or .status=="BOND_STATUS_UNBONDING")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nlInfo about your validator
celestia-appd q staking validator $(celestia-appd keys show <YOUR_WALLET_NAME> --bech val -a)Transactions
Get your rewards from all validators
celestia-appd tx distribution withdraw-all-rewards --from <YOUR_WALLET> --gas-prices 0.002utia --gas-adjustment 1.4 --gas auto -yGet rewards and commissions from your validator
celestia-appd tx distribution withdraw-rewards $(celestia-appd keys show <YOUR_WALLET_NAME> --bech val -a) --commission --from <YOUR_WALLET> --gas-prices 0.002utia --gas-adjustment 1.4 --gas auto -yDelegate tokens to your validator
celestia-appd tx staking delegate $(celestia-appd keys show <YOUR_WALLET_NAME> --bech val -a) 1000000utia --from <YOUR_WALLET> --gas-prices 0.002utia --gas-adjustment 1.4 --gas auto -yDelegate tokens to validator
celestia-appd tx staking delegate <VALOPER_ADDRESS> 1000000utia --from <YOUR_WALLET> --gas-prices 0.002utia --gas-adjustment 1.4 --gas auto -yRedelegate tokens to another validator
celestia-appd tx staking redelegate <SRC_VALOPER_ADDRESS> <TARGET_VALOPER_ADDRESS> 1000000utia --from <WALLET> --gas-prices 0.002utia --gas-adjustment 1.4 --gas auto -yUnbound tokens from validator
⚠️ it’s can take a while, ~21 days, depends on network’s parameters
celestia-appd tx staking unbond <VALOPER_ADDRESS> 1000000utia --from <YOUR_WALLET> --gas-prices 0.002utia --gas-adjustment 1.4 --gas auto -ySend tokens to another wallet
celestia-appd tx bank send <YOUR_WALLET_ADDRESS> <TARGET_WALLET_ADDRESS> 1000000utia --from <YOUR_WALLET_ADDRESS> --gas-prices 0.002utia --gas-adjustment 1.4 --gas auto -yCheck info about transaction by hash TX_HASH
celestia-appd query tx <TX_HASH>Governance
Submit text proposal
celestia-appd tx gov submit-proposal \
--title="<Your Title>" \
--description="<Your Description>" \
--deposit=1000000utia \
--type="Text" \
--from=<WALLET_ADDRESS> \
--gas-prices=0.002utia \
--gas-adjustment=1.4 \
--gas=auto \
-yList of all proposals
celestia-appd query gov proposalsCheck proposal info by proposal id
celestia-appd query gov proposal <proposal_id>Deposit proposal by proposal id
celestia-appd tx gov deposit 1 1000000utia --from <YOUR_WALLET> --gas-prices 0.002utia --gas-adjustment 1.4 --gas auto -yVote as, YES
celestia-appd tx gov vote 1 yes --from <YOUR_WALLET> --gas-prices 0.002utia --gas-adjustment 1.4 --gas auto -yVote as, NO
celestia-appd tx gov vote 1 no --from <YOUR_WALLET> --gas-prices 0.002utia --gas-adjustment 1.4 --gas auto -yVote as, NO_WITH_VETO
celestia-appd tx gov vote 1 no_with_veto --from <YOUR_WALLET> --gas-prices 0.002utia --gas-adjustment 1.4 --gas auto -yVote as, ABSTAIN
celestia-appd tx gov vote 1 abstain --from <YOUR_WALLET> --gas-prices 0.002utia --gas-adjustment 1.4 --gas auto -yUtils
Change ports to custom
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:36658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:36657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:7060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:36656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":36660\"%" $HOME/.celestia-app/config/config.toml && \
sed -i.bak -e "s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:10090\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:10091\"%; s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:2317\"%" $HOME/.celestia-app/config/app.toml && \
sed -i.bak -e "s%^node = \"tcp://localhost:26657\"%node = \"tcp://localhost:36657\"%" $HOME/.celestia-app/config/client.tomlTurn on indexing
sed -i 's|^indexer *=.*|indexer = "kv"|' $HOME/.celestia-app/config/config.tomlTurn off indexing
sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.celestia-app/config/config.tomlSetup custom prunning
APP_TOML="~/.celestia-app/config/app.toml"
sed -i 's|^pruning *=.*|pruning = "custom"|' $APP_TOML
sed -i 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' $APP_TOML
sed -i 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' $APP_TOML
sed -i 's|^pruning-interval *=.*|pruning-interval = "10"|' $APP_TOMLCheck your peer
echo $(celestia-appd tendermint show-node-id)@$(curl http://ifconfig.me/)$(grep -A 3 "\[p2p\]" ~/.celestia-app/config/config.toml | egrep -o ":[0-9]+")Check your RPC
echo -e "\033[0;32m$(grep -A 3 "\[rpc\]" ~/.celestia-app/config/config.toml | egrep -o ":[0-9]+")\033[0m"Check information about validator
celestia-appd status 2>&1 | jq .ValidatorInfoCheck synchronisation status (false - synced, true - not synced)
celestia-appd status 2>&1 | jq .SyncInfo.catching_upCheck the latest block
celestia-appd status 2>&1 | jq .SyncInfo.latest_block_heightReset network
celestia-appd tendermint unsafe-reset-all --home $HOME/.celestia-app --keep-addr-bookDelete node
sudo systemctl stop celestia-appd && \
sudo systemctl disable celestia-appd && \
sudo rm /etc/systemd/system/celestia-appd.service && \
sudo systemctl daemon-reload && \
rm -rf $HOME/.celestia-app && \
rm -rf $HOME/celestia-appCheck IP address of the server
wget -qO- eth0.meCheck network parameters
celestia-appd q staking params
celestia-appd q slashing paramsCheck validator private key is correct
[[ $(celestia-appd q staking validator $(celestia-appd keys show <YOUR_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"Search all output transactions by address
celestia-appd q txs --events transfer.sender=<ADDRESS> 2>&1 | jq | grep txhashSearch all input transactions by address
celestia-appd q txs --events transfer.recipient=<ADDRESS> 2>&1 | jq | grep txhashService management
Reload services
sudo systemctl daemon-reloadEnable service
sudo systemctl enable celestia-appdDisable service
sudo systemctl disable celestia-appdStart service
sudo systemctl start celestia-appdStop service
sudo systemctl stop celestia-appdRestart service
sudo systemctl restart celestia-appdCheck service status
sudo systemctl status celestia-appdCheck service logs
sudo journalctl -u celestia-appd -f -o catBridge node useful commands
Get bridge node ID
AUTH_TOKEN=$(celestia bridge auth admin --p2p.network celestia)
curl -s -X POST -H "Authorization: Bearer $AUTH_TOKEN" -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":0,"method":"p2p.Info","params":[]}' http://localhost:26658 | jq -r .result.IDGet bridge node key
cel-key show bridge-wallet --node.type bridge --p2p.network celestia -a | tail -1Check bridge node wallet balance
celestia-appd q bank balances $(cel-key show bridge-wallet --node.type bridge --p2p.network celestia -a | tail -1)Check bridge node version
celestia versionCheck bridge node logs
journalctl -u celestia-bridge.service -f -o catLast updated
