πŸ’»Consensus Node

Server preparation

apt update && apt upgrade -y
apt install curl build-essential git wget jq make gcc tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev lz4 -y

Install GO

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

Node installation

git clone https://github.com/celestiaorg/celestia-app && cd celestia-app

As part of the upcoming v3 update called Ginger, you will need to enable bbr on your systems Please note that this setting only applies to the servers you run your validators and full consensus nodes on (celestia-app)

# first way to check
cd $HOME/celestia-app
make enable-bbr

# alternatively if that doesn't work you can use this command
sudo modprobe tcp_bbr; \
        echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf; \
        echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf; \
        sudo sysctl -p; \

# to check the functionality, use
sysctl net.ipv4.tcp_congestion_control | awk '{print $3}' 
# bbr

Starting from version 3.0.0-mocha there should be the following parameters in config.toml

#config.toml
recv_rate 10485760
send_rate 10485760
ttl-num-blocks 12

#app.toml
max-recv-msg-size 20971520
# Example of sending a Signal upgrade transaction from a validator
celestia-appd-test tx signal signal 3 --from wallet --chain-id mocha-4 --fees 210000utia --home $HOME/.celestia-app-test

# Signal tracking by validators
celestia-appd-test query signal tally 3 --home $HOME/.celestia-app-test

# View upcoming update
celestia-appd-test query signal upgrade --home $HOME/.celestia-app-test

We initialize the node to create the necessary configuration files

Download Genesis

At this stage, we can download the address book

Set up node configuration

(OPTIONAL) Set up pruning

(OPTIONAL) Set up indexer

Create a service file

If peers do not cling for a long time or you see errors error: wrong Block.Header.AppHash, you need to use State sync or boot from a Snapshot

To view useful commands, go to Useful commands

To create a validator, go to Creating / Editing a Validator

Last updated