Celestia
Celestia is a modular data availability network that securely scales with the number of users, making it easy for anyone to launch their own blockchain.
Delegator Dashboard
The ultimate solution for delegators to track their validators across multiple blockchain networks. Managing your investments has never been easier or more secure.
https://dashboard.validatorvn.com/
Contribution
Tutorial run Validator Celestia mocha testnet 17 Dec 2022
https://youtu.be/pikIDb5_CVM
Tutorial run Full Node Celestia mocha testnet 16 Dec 2022
https://youtu.be/9TXwtDG8fWg
Tutorial run Light Node Celestia mocha testnet 06 Dec 2022
https://youtu.be/RzAZQoXk7So
Tutorial run Full Node Celestia Mamaki testnet 2022
https://youtu.be/ZfQo7bpRV7A
Tutorial run Node Blockspace Race 27 Mar 2023
https://youtu.be/7uN0zps8SBc
Public Endpoints
RPC: https://celestia-rpc.validatorvn.com
API: https://celestia-api.validatorvn.com
gRPC: celestia-grpc.validatorvn.com:443
IBC Relayer
Celestia <> Elys Network Celestia <> Axelar Celestia <> Osmosis Celestia <> Namada
Explorer:
https://tiascan.org
Snapshot:
sudo systemctl stop celestia-appd
cp $HOME/.celestia-app/data/priv_validator_state.json $HOME/.celestia-app/priv_validator_state.json.backup
rm -rf $HOME/.celestia-app/data
celestia-appd tendermint unsafe-reset-all --home ~/.celestia-app/ --keep-addr-book
curl -L https://snapshot.validatorvn.com/celestia/data.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.celestia-app
mv $HOME/.celestia-app/priv_validator_state.json.backup $HOME/.celestia-app/data/priv_validator_state.json
sudo systemctl restart celestia-appd && sudo journalctl -u celestia-appd -f -o cat
Seeds & Peers
peers="c17c0cbf05e98656fee5f60fad469fc528f6d6de@65.109.25.113:11656,de181ebe22ce14483abbb8695bdb43c1169246af@185.144.99.223:26656,b977ffaf75faed21a9ac2b758da5ddb0545e9c8e@51.79.19.101:26656,bdbb36bb9afd57400635623268e93a6ea629a3dd@141.94.138.48:26679,85aef6d15d0197baff696b6e31c88e0f21073c59@162.55.245.144:2400,2d40e73c3b0fcccc5c7806621ff9943a7fb3199e@95.217.200.98:21656,d0f9567ab83141aed3c8bb3abc80b8b1eb083e57@89.38.96.114:26656,5a7566aa030f7e5e7114dc9764f944b2b1324bcd@65.109.23.114:11656,174f976b84674e69322d61917629494d595dd847@89.168.119.105:26656,b5bf037004602ab6e568f38e3eb9a0e360a5996d@15.204.196.223:11656,5c2a752c9b1952dbed075c56c600c3a79b58c395@195.3.221.9:27206,8194b4f9c4d558a0a4d4242bce9274892cbfb386@20.250.38.245:26656,e3ab8c4b98fbc563ba706a26c1220924eeb4e190@8.52.247.236:26656,6a4d78aac6fdb6af92353e625a3e80c9a9d20ecf@122.255.40.154:26656,4ccf53c1a776fa2854e39b97b3b11f78337beb72@178.23.126.73:26656,66590449e134a8ec6780d75de9529e8c0f8ad95b@195.3.220.143:26656,d6c13af818704c64a42f77d74ab6ab6dc4e164dd@65.108.74.218:40656,6ac4d095a69c2b55c85725e05f9129c9e6b246c8@205.178.182.220:26656,ff60bfa44d2bce5ba1f2f70ae8a499d70ed43286@37.27.119.173:26656,11c7d8202099bf2fad4b6bebb8629e2aa7d672c1@46.4.80.48:11556"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.celestia-app/config/config.toml
seeds=""
sed -i.bak -e "s/^seeds =.*/seeds = \"$seeds\"/" $HOME/.celestia-app/config/config.toml
Addrbook & Genesis Files
curl -L https://snapshot.validatorvn.com/celestia/addrbook.json > $HOME/.celestia-app/config/addrbook.json
curl -L https://snapshot.validatorvn.com/celestia/genesis.json > $HOME/.celestia-app/config/genesis.json
Manual Installation
sudo apt update && sudo apt upgrade -y
sudo apt install curl git wget htop tmux build-essential jq make lz4 gcc unzip -y
Install GO
# install go, if needed
cd $HOME
VER="1.22.6"
wget "https://golang.org/dl/go$VER.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$VER.linux-amd64.tar.gz"
rm "go$VER.linux-amd64.tar.gz"
[ ! -f ~/.bash_profile ] && touch ~/.bash_profile
echo "export PATH=$PATH:/usr/local/go/bin:~/go/bin" >> ~/.bash_profile
source $HOME/.bash_profile
[ ! -d ~/go/bin ] && mkdir -p ~/go/bin
# set vars
echo "export WALLET="wallet"" >> $HOME/.bash_profile
echo "export MONIKER="test"" >> $HOME/.bash_profile
echo "export CELESTIA_CHAIN_ID="mocha-4"" >> $HOME/.bash_profile
source $HOME/.bash_profile
# download binary
cd $HOME
rm -rf celestia-app
git clone https://github.com/celestiaorg/celestia-app.git
cd celestia-app/
APP_VERSION=v3.2.0-mocha
git checkout tags/$APP_VERSION -b $APP_VERSION
make install
celestia-appd config keyring-backend os
celestia-appd config chain-id mocha-4
celestia-appd init $MONIKER --chain-id mocha-4
# download genesis and addrbook
wget -O $HOME/.celestia-app/config/genesis.json https://celestia.validatorvn.com/testnet/celestia/genesis.json
wget -O $HOME/.celestia-app/config/addrbook.json https://celestia.validatorvn.com/testnet/celestia/addrbook.json
# set seeds and peers
SEEDS="5d0bf034d6e6a8b5ee31a2f42f753f1107b3a00e@celestia-testnet-seed.itrocket.net:11656"
PEERS="daf2cecee2bd7f1b3bf94839f993f807c6b15fbf@celestia-testnet-peer.itrocket.net:11656,6ec29df7709624d7deb589e0c5b0334be92bfa6b@37.59.57.210:26656,5786e4780a8d12f89d6263bb31ac58cf4f8331a3@195.224.80.26:36656,a8e6b8ba334ba7e9e7ffac6cbb3b1a6d99aed870@95.217.113.247:26656,1a2841989963eb1d117af18f3de52e604658f18a@65.109.54.91:21656,df27d4930b9e990c2ba8aed97ae4aff42705d9fe@64.52.81.112:26656,e96d0885f8eeeb25b4603d0a43fb6f0d0a0e6488@65.109.106.214:11656,bdde9be71fa7bb568e09068238cf5db1dc995258@65.109.84.33:11656,e1b058e5cfa2b836ddaa496b10911da62dcf182e@164.152.161.199:36656,5318579c8b99a9c063c145bdb2fcdd58e74b4448@65.108.228.199:10156,c5cc5b9f80be8dbe2a0996703d820004eca87cc3@45.8.22.165:26656,a831cf42d79aded9d25efd71b1a6629311c2f644@95.217.120.205:11656,5f5a8c2d974b1f7efd343d81b2c949c0fb70dafd@2.59.169.115:26656,d0f9567ab83141aed3c8bb3abc80b8b1eb083e57@89.38.96.114:26656,e75abd230f227788bd2756901aa886c5c927fc58@51.158.54.62:26656,c17c0cbf05e98656fee5f60fad469fc528f6d6de@65.109.25.113:11656,33acbad5e87d62df89a498b27f180d3e020ff9f0@65.108.235.238:26656,d6c13af818704c64a42f77d74ab6ab6dc4e164dd@65.108.74.218:40656,5f12023a5aab941e8e3794a4c4c864cab536a19b@218.153.200.72:12002,c402de644dfaecf01093d6317edecc03e0bb1db3@109.228.57.155:26656,3b5cfaef16c0affb426c9dd159cd3da6049159c2@217.160.102.31:26656"
sed -i -e "/^\[p2p\]/,/^\[/{s/^[[:space:]]*seeds *=.*/seeds = \"$SEEDS\"/}" \
-e "/^\[p2p\]/,/^\[/{s/^[[:space:]]*persistent_peers *=.*/persistent_peers = \"$PEERS\"/}" $HOME/.celestia-app/config/config.toml
# config pruning
sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.celestia-app/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.celestia-app/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"19\"/" $HOME/.celestia-app/config/app.toml
# set minimum gas price, enable prometheus and disable indexing
sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0.002utia"|g' $HOME/.celestia-app/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.celestia-app/config/config.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.celestia-app/config/config.toml
# create service file
sudo tee /etc/systemd/system/celestia-appd.service > /dev/null <<EOF
[Unit]
Description=Celestia node
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/.celestia-app
ExecStart=$(which celestia-appd) start --home $HOME/.celestia-app
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
# enable and start service
sudo systemctl daemon-reload
sudo systemctl enable celestia-appd
sudo systemctl restart celestia-appd && sudo journalctl -u celestia-appd -fo cat
Cheat Sheet
Add new keys
celestia-appd keys add wallet
Recover keys
celestia-appd keys add wallet --recover
List All keys
celestia-appd keys list
Query Wallet Balance
celestia-appd q bank balances $(celestia-appd keys show wallet -a)
Create New Validator
celestia-appd tx staking create-validator \
--amount=1000000utia \
--pubkey=$(celestia-appd tendermint show-validator) \
--moniker="ValidatorVN" \
--identity=6CB6AC3E672AAB9D \
--details="Trusted Proof-of-Stake validator across Cosmos universe. Active ecosystem contributor, IBC relayer and chain service provider." \
--chain-id=mocha-4 \
--commission-rate=0.05 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.01 \
--min-self-delegation=1 \
--from=wallet \
--gas-prices=0.01utia \
--gas-adjustment=1.5 \
--gas=auto \
-y
Unjail Validator
celestia-appd tx slashing unjail --from wallet --chain-id mocha-4 --gas-prices 0.01utia --gas-adjustment 1.5 --gas auto -y
Withdraw commission & rewards
celestia-appd tx distribution withdraw-rewards $(celestia-appd keys show wallet --bech val -a) --commission --from wallet --chain-id mocha-4 --gas-prices 0.01utia --gas-adjustment 1.5 --gas auto -y
Delegate
celestia-appd tx staking delegate YOUR_TO_VALOPER_ADDRESS 1000000utia --from wallet --chain-id mocha-4 --gas-prices 0.01utia --gas-adjustment 1.5 --gas auto -y
Re-delegate
celestia-appd tx staking redelegate $(celestia-appd keys show wallet --bech val -a) YOUR_TO_VALOPER_ADDRESS 1000000utia --from wallet --chain-id mocha-4 --gas-prices 0.01utia --gas-adjustment 1.5 --gas auto -y
Service Management
Reload Service
sudo systemctl daemon-reload
Enable Service
sudo systemctl enable celestia
Run Service
sudo systemctl start celestia
Check Service Status
sudo systemctl status celestia
Check Services logs
sudo journalctl -u celestia -f --no-hostname -o cat
Setting Bridge-Node
Install GO
cd ~
! [ -x "$(command -v go)" ] && {
VER="1.23.1"
wget "https://golang.org/dl/go$VER.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$VER.linux-amd64.tar.gz"
rm "go$VER.linux-amd64.tar.gz"
[ ! -f ~/.bash_profile ] && touch ~/.bash_profile
echo "export PATH=$PATH:/usr/local/go/bin:~/go/bin" >> ~/.bash_profile
source ~/.bash_profile
}
[ ! -d ~/go/bin ] && mkdir -p ~/go/bin
go version
Install Celestia node
cd $HOME
rm -rf celestia-node
git clone https://github.com/celestiaorg/celestia-node.git
cd celestia-node/
git checkout tags/v0.20.4-mocha
make build
sudo make install
make cel-key
Config & init app
celestia bridge init --core.ip --core.grpc.port --p2p.network mocha
cd $HOME/celestia-node
./cel-key list --node.type bridge --keyring-backend test --p2p.network mocha
Create service file
sudo tee /etc/systemd/system/celestia-bridge.service > /dev/null <<EOF
[Unit]
Description=celestia Bridge
After=network-online.target
[Service]
User=$USER
ExecStart=$(which celestia) bridge start \
--p2p.network mocha --archival \
--metrics.tls=true --metrics --metrics.endpoint otel.mocha.celestia.observer
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
Enable & start service
sudo systemctl daemon-reload
sudo systemctl enable celestia-bridge
sudo systemctl restart celestia-bridge && sudo journalctl -u celestia-bridge -fo cat
Bridge node Snapshot
sudo systemctl stop celestia-bridge
rm -rf ~/.celestia-bridge-mocha-4/{blocks,data,index,inverted_index,transients,.lock}
curl -L https://snapshot.validatorvn.com/celestia/celestia-bridge.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.celestia-bridge-mocha-4
sudo systemctl restart celestia-bridge
Cheat sheet
celestia state balance --node.store ~/.celestia-bridge-mocha-4/
Get wallet addresses
cd $HOME/celestia-node
./cel-key list --node.type bridge --keyring-backend test --p2p.network mocha
Restore wallet
KEY_NAME="my_celes_key"
cd ~/celestia-node
./cel-key add $KEY_NAME --keyring-backend test --node.type bridge --recover --p2p.network mocha
Check node status
celestia header sync-state --node.store ~/.celestia-bridge-mocha-4/
Get Node ID
celestia p2p info --node.store ~/.celestia-bridge-mocha-4/
Reset node
celestia bridge unsafe-reset-store --p2p.network mocha
Upgrade Bridge node
sudo systemctl stop celestia-bridge
cd $HOME
rm -rf celestia-node
git clone https://github.com/celestiaorg/celestia-node.git
cd celestia-node/
git checkout tags/v0.20.4-mocha
make build
sudo make install
make cel-key
celestia bridge config-update --p2p.network mocha
sudo systemctl restart celestia-bridge && sudo journalctl -u celestia-bridge -fo cat
Delete Bridge node
sudo systemctl stop celestia-bridge
sudo systemctl disable celestia-bridge
sudo rm /etc/systemd/system/celestia-bridge*
rm -rf $HOME/celestia-node $HOME/.celestia-bridge-mocha-4
Last updated