Minimum hardware Requirements #
Copy CPU : 6 Cores
Ram : 16GB RAM
Storage: 10 TB of storage (SSD or NVME)
Official documentation
Before We begin for your easier understanding
CONSENSUS_NODE is same as celestia-app node bridge requires grpc port support for RPC port has been disabled Please use a XFS/ZFS file system ext4 will not be able to run a bridge node
Setting Variables
Copy RPC_NODE_IP="Your-RPC-ENDPOINT"
GRPC_PORT="Your-RPC-PORT"
Install dependencies
Copy sudo snap install lz4 && sudo apt install liblz4-tool && sudo apt install curl tar wget clang pkg-config libssl-dev libleveldb-dev jq build-essential bsdmainutils git make ncdu htop screen unzip bc fail2ban htop -y
sudo apt install curl tar wget aria2 clang pkg-config libssl-dev jq build-essential git make ncdu -y
INSTALL GO
Copy ver="1.22.3" && \
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
# Adding Go's location to profile
cat <<'EOF' >>$HOME/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source $HOME/.profile
go version
Download and build binary
Copy # Clone project repository
cd $HOME
rm -rf celestia-node
git clone https://github.com/celestiaorg/celestia-node.git
cd celestia-node
git checkout v0.21.3-mocha
make build
make install
make cel-key
#if you face permission error
sudo chown -R $USER:$USER /usr/local/bin/
sudo chmod -R 755 /usr/local/bin/
Your celestia Bridge Node daemon is saved at /usr/local/bin/celestia
#Initializing Bridge Node After starting the Bridge Node, a wallet key will be generated for you.
Copy celestia bridge init --core.ip $RPC_NODE_IP --core.port $GRPC_PORT --p2p.network mocha
To facilitate Blob transactions, you must fund this address with Testnet tokens.
If you did not save the wallet address you can find the address by running the following command:
Copy cd $HOME/celestia-node
./cel-key list --node.type bridge --keyring-backend test --p2p.network mocha
Creating Systemd
Without Metrics - if you do not want your metrics to be reported
Copy sudo tee /etc/systemd/system/celestia-bridge.service > /dev/null <<EOF
[Unit]
Description=celestia-bridge daemon
After=network-online.target
[Service]
User=$USER
ExecStart=/usr/local/bin/celestia bridge start --core.ip $RPC_NODE_IP --core.port $GRPC_PORT
Restart=on-failure
RestartSec=3
LimitNOFILE=1400000
[Install]
WantedBy=multi-user.target
EOF
With Metrics
Copy sudo tee /etc/systemd/system/celestia-bridge.service <<EOF > /dev/null
[Unit]
Description=celestia-bridge daemon
After=network-online.target
[Service]
User=$USER
ExecStart=/usr/local/bin/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 and start the service
Copy sudo systemctl daemon-reload
sudo systemctl enable celestia-bridge.service
sudo systemctl restart celestia-bridge && sudo journalctl -u celestia-bridge -f -o cat
Retrieve your node's peerId information.
Note: You can only generate an auth token after initializing and starting your Celestia node.
Copy NODE_TYPE=bridge
AUTH_TOKEN=$(celestia $NODE_TYPE auth admin --p2p.network mocha)
Copy curl -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