Skip to main content

Setup your node

Install pre requis

sudo apt-get update && sudo apt upgrade -y 
sudo apt-get install make build-essential gcc git jq chrony -y

Install go

sudo rm -rf /usr/local/go
wget https://golang.org/dl/go1.19.1.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.19.1.linux-amd64.tar.gz
rm go1.19.1.linux-amd64.tar.gz

Setting up go

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin

Install Node

Install the Celestia node binary by running the following commands

#from $HOME dir 
git clone https://github.com/celestiaorg/celestia-app
cd celestia
git fetch
git checkout v1.10.1
make install

To confirm that the node is well installed

celestia-appd version

#v1.10.1

Setting up the Node

Initialization node

Please choose your MONIKER name and replace it in the next command, it will represent your node

celestia-appd init MONIKER_NAME --chain-id celestia

This will generate severals files in ~/.celestia-app/config/

  • node_key.json
  • genesis.json
  • priv_validator_key.json

Download and replace the genesis file

rm ~/.celestia-app/config/genesis.json
wget https://github.com/celestiaorg/networks/blob/master/celestia/genesis.json -O ~/.celestia-app/config/genesis.json

Set minimum gas prices

sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.002utia\"/" ~/.celestia-app/config/app.toml

Node connexion

In order to connect the node you can either use seeds, lives peers or address book.

Set Seeds

SEEDS = e6116822e1a5e283d8a85d3ec38f4d232274eaf3@consensus-full-seed-1.celestia-bootstrap.net:26656,cf7ac8b19ff56a9d47c75551bd4864883d1e24b5@consensus-full-seed-2.celestia-bootstrap.net:26656
sed -i.bak -e "s/^seeds *=.*/seeds = \"$SEEDS\"/" $HOME/.celestia-app/config/config.toml

Setup service file

[Unit]
Description="celestia node"


[Service]
User=USER
ExecStart=$(which celestia-appd) start
Restart=always
RestartSec=3
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target

If you'd like to synchronise a node from a snapshot check the snapshot part

Start service file

systemctl daemon-reload
systemctl start celestia.service | journalctl -u celestia.service -f