sudo apt update
sudo apt install curl iptables build-essential git wget jq make gcc nano tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev lz4 -y
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" && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
go version
cd $HOME
rm -rf celestia-node
git clone https://github.com/celestiaorg/celestia-node.git
cd celestia-node
git checkout tags/v0.21.5
make build
make install
make cel-key
celestia version | grep -e version -e Commit
echo "export CONSENSUS_IP="<CONSENSUS_NODE_IP>"" >> $HOME/.bash_profile
echo "export CONSENSUS_GRPC_PORT="<CONSENSUS_NODE_GRPC_PORT>"" >> $HOME/.bash_profile
echo "export KEY_NAME="my_celes_key"" >> $HOME/.bash_profile
source $HOME/.bash_profile
# This command generates an address and a mnemonic for you, saves the mnemonic in a safe place!
# Add funds to the address that will later be used to pay for PayForBlob transactions.
celestia bridge init --core.ip <CONSENSUS_NODE_RPC_ENDPOINT>
sudo tee /etc/systemd/system/celestia-bridge.service > /dev/null <<EOF
[Unit]
Description=celestia mainnet bridge node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which celestia) bridge start --core.ip $CONSENSUS_IP --core.port $CONSENSUS_GRPC_PORT --keyring.accname $KEY_NAME --metrics.tls=true --metrics --metrics.endpoint otel.celestia.observer
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable celestia-bridge
sudo systemctl restart celestia-bridge
sudo journalctl -u celestia-bridge -f -o cat