Bridge node

Recommended Hardware: 6 Cores, 4GB RAM, 10TB of storage (NVME)

Chain ID: celestia | Latest Version Tag: v0.20.4

Install dependencies

Update system and install build tools

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

cd $HOME
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" && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
go version

Automatic installation

Just copy and paste it on your server

Manual installation

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 
make build 
sudo make install 
make cel-key

Config and init app

celestia bridge init --core.ip <RPC_NODE_IP>

Once you start the Bridge Node, a wallet key will be generated for you. You will need to fund that address with Mainnet tokens to pay for PayForBlob transactions. You can find the address by running the following command:

cd $HOME/celestia-node
./cel-key list --node.type bridge --keyring-backend test

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 --archival \
--metrics.tls=true --metrics --metrics.endpoint otel.celestia.observer
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

Enable and start service

sudo systemctl daemon-reload
sudo systemctl enable celestia-bridge
sudo systemctl restart celestia-bridge && sudo journalctl -u celestia-bridge -f

Useful commands

Check bridge wallet balance:

celestia state balance --node.store ~/.celestia-bridge/

Get wallet address:

cd $HOME/celestia-node
./cel-key list --node.type bridge --keyring-backend test

Restore an existing cel_key:

KEY_NAME="my_celes_key"
cd ~/celestia-node
./cel-key add $KEY_NAME --keyring-backend test --node.type bridge  --recover

Check bridge node status:

celestia header sync-state --node.store ~/.celestia-bridge/

Get Node ID:

celestia p2p info --node.store ~/.celestia-bridge/

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

Last updated