# Celestia

## 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](https://www.mintscan.io/celestia/address/celestia1cjhz8st5409k2nzfcpcnexehjxh7k2fg8env8s) <> [Elys Network](https://ping.pub/elys/account/elys1jq3terhmyuct8p6xatskg720fy66hkat8re8a6)\
[Celestia](https://www.mintscan.io/celestia/address/celestia1cjhz8st5409k2nzfcpcnexehjxh7k2fg8env8s) <> [Axelar](https://www.mintscan.io/axelar/address/axelar1cjhz8st5409k2nzfcpcnexehjxh7k2fgja55ku)\
[Celestia](https://www.mintscan.io/celestia/address/celestia1cjhz8st5409k2nzfcpcnexehjxh7k2fg8env8s) <> [Osmosis](https://www.mintscan.io/osmosis/address/osmo1cjhz8st5409k2nzfcpcnexehjxh7k2fg7g3vt0)\
[Celestia](https://www.mintscan.io/celestia/address/celestia1cjhz8st5409k2nzfcpcnexehjxh7k2fg8env8s) <> [Namada](https://namada.valopers.com/account/tnam1qp8ctrxp62eqw6hnnm2q42zpl8js2pk8f5jxtzgt)

## 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

<pre><code># 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 ] &#x26;&#x26; touch ~/.bash_profile
echo "export PATH=$PATH:/usr/local/go/bin:~/go/bin" >> ~/.bash_profile
source $HOME/.bash_profile
[ ! -d ~/go/bin ] &#x26;&#x26; mkdir -p ~/go/bin

<strong># set vars
</strong>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

<strong>celestia-appd config keyring-backend os
</strong>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 &#x3C;&#x3C;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 &#x26;&#x26; sudo journalctl -u celestia-appd -fo cat
</code></pre>

## 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
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://services.validatorvn.com/celestia.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
