Celestia Full Storage Node

MAHOF
3 min readMar 30, 2023

--

In this article I will try to write about installing and configuring the Celestia full storage node

At first lets start installing with dependencies

We will need go to compile the celestia binary

wget https://go.dev/dl/go1.20.2.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.20.2.linux-amd64.tar.gz
cat <<’EOF’ >>$HOME/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source $HOME/.profile

lets check the version with

go version
go version go1.20.2 linux/amd64 "should be the answer"

After installing go we are going to clone celestia

git clone https://github.com/celestiaorg/celestia-node.git
cd celestia-node/
git checkout tags/v0.8.0
make build
make install
make cel-key

If everything is ok till here lets init the node

celestia full init --p2p.network blockspacerace

take a backup of your seed and note your wallet which is named: “my_celes_key”

now we will start the node with a validators rpc endpoint at this example i used pops-teams rpc

celestia full start --core.ip https://rpc-blockspacerace.pops.one --p2p.network blockspacerace
This is the first start

HINT: If you get a warning about udp buffer size try increasing it

non-BSD
It is recommended to increase the maximum buffer size by running:
sysctl -w net.core.rmem_max=2500000
This command would increase the maximum receive buffer size to roughly 2.5 MB.
BSD
Taken from: https://medium.com/@CameronSparr/increase-os-udp-buffers-to-improve-performance-51d167bb1360
On BSD/Darwin systems you need to add about a 15% padding to the kernel limit socket buffer. Meaning if you want a 25MB buffer (8388608 bytes) you need to set the kernel limit to 26214400*1.15 = 30146560. This is not documented anywhere but happens in the kernel here.
To update the value immediately to 2.5M, type the following commands as root:
sysctl -w kern.ipc.maxsockbuf=3014656
Add the following lines to the /etc/sysctl.conf file to keep this setting across reboots:
kern.ipc.maxsockbuf=3014656

take a backup of your peer-id and keys the folder is at

/home/USER/.celestia-full-blockspacerace-0/keys

now lets get the peer id and fill the first task

NODE_TYPE=full
AUTH_TOKEN=$(celestia $NODE_TYPE 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 | jq

you will see something like this:

now for the uptime tracking we will restart the node

celestia full start --core.ip https://rpc-blockspacerace.pops.one/ --core.rpc.port 26657 --core.grpc.port 9090 --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

The output will look like this

You can fill the task form

Important notice if you run your node behinf a firewall do not forget to allow these ports : 2121 26658 26659

you can track your uptime : https://tiascan.com/full-storage

References: https://docs.celestia.org/developers/node-tutorial/

--

--

MAHOF

…miner…miner…miner… Professional Node Operator