Blockspace Race // Setting up a Full Node

Installing Celestia Full Nodе

▶️ The installation is performed on the example of the Blockspace Race test network.

This type of install shows the setting up using the CLI commands on Ubuntu. If you would like to install a full node using docker, please check out the documentation here.

Technical requirements

Please ensure that the technical requirements of your machine fulfil the specifications below:

  • 4 Cores of CPU; 8 GB RAM; 1TB SSD; 1 GBPS for Download/Upload
    Ubuntu Linux 20.04 (LTS)

Setting dependencies

Run the command into the terminal:

  • Update and upgrade:

sudo apt update && sudo apt upgrade -y
sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential git make ncdu -y
  • Install GO:

ver="1.20.3" 
cd $HOME 
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 is the programming language in which celestia-app and celestia-node are written and must be version 1.20.3 (use the go version command to check it)

Installing Celestia-Node

  • Run the command into the terminal:

cd $HOME 
rm -rf celestia-node 
git clone https://github.com/celestiaorg/celestia-node.git 
cd celestia-node/ 
git checkout tags/v0.9.4 
make build 
make install 
make cel-key 

Please use the celestia version command to check the version.

Initializing a full node

  • Run the command:

After entering the command, your key (mnemonics) will be generated

celestia full init --p2p.network blockspacerace

Please make sure that you save the data and do not share it everywhere!

  • Create systemd file:

sudo tee <<EOF >/dev/null /etc/systemd/system/celestia-full.service
[Unit]
Description=celestia-full Cosmos daemon
After=network-online.target
[Service]
User=$USER
ExecStart=celestia full start --core.ip https://rpc-blockspacerace.mzonder.com:30159 --core.rpc.port 26658 --core.grpc.port 30190 --keyring.accname my_celes_key --metrics.tls=false --metrics --metrics.endpoint otel.celestia.tools:4318 --gateway --gateway.addr localhost --gateway.port 26659 --p2p.network blockspacerace
Restart=on-failure
RestartSec=10
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF
  • Enable and start celestia-full node:

sudo systemctl enable celestia-full
sudo systemctl start celestia-full && sudo journalctl -u \
celestia-full.service -f

You installed your node successfully and it is now synchronizing! Do not worry if there is error in the logs.

  • To check the logs, use the command:

journalctl -u celestia-full -o cat -f

Backup

You should save the mnemonics you reached earlier and save the keys, path:

.celestia-full-blockspacerace-0/keys

Monitoring resources

You can check the health of your node through the Tiascan Explorer and see the following parameters:

  • Number of nodes and location

  • The uptime of your node

  • The time when it has been running

  • Time since last restart

  • Other indicators

But before that you need to find out your NODE ID using the following command in the terminal:

Your Node ID is shown in the ID

AUTH_TOKEN=$(celestia full auth admin --p2p.network blockspacerace)
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