Installation

Hardware requirements

The following hardware minimum requirements are recommended for running a validator node:

  • Memory: 8 GB RAM

  • CPU: 6 cores

  • Disk: 500 GB SSD Storage

  • Bandwidth: 1 Gbps for Download/1 Gbps for Upload

Update if needed

sudo apt update && sudo apt upgrade -y

Insall packages

sudo apt install curl lz4 tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu -y

Install GO

cd $HOME ver="1.21.1" 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
git clone https://github.com/celestiaorg/celestia-app.git
cd celestia-app
git checkout tags/v1.10.1 -b v1.10.1
make install
cd celestia-app
celestia-appd init "your node" --chain-id celestia
celestia-appd config chain-id celestia
celestia-appd config keyring-backend test

Copy genesis - Minimum gas prices - Addrbook

cd $HOME
git clone https://github.com/celestiaorg/networks

# copy genesis
cp $HOME/networks/celestia/genesis.json $HOME/.celestia-app/config/genesis.json
SEEDS="9aa8a73ea9364aa3cf7806d4dd25b6aed88d8152@celestia.seed.mzonder.com:13156"
sed -i "s|^seeds *=.*|seeds = \"$SEEDS\"|" $HOME/.celestia-app/config/config.toml

sed -i 's/^minimum-gas-prices *=.*/minimum-gas-prices = "0.002utia"/' $HOME/.celestia-app/config/app.toml

sed -i 's/^indexer *=.*/indexer = "kv"/' $HOME/.celestia-app/config/config.toml

sed -i 's/^discard_abci_responses *=.*/discard_abci_responses = false/' $HOME/.celestia-app/config/config.toml

# pruning and snapshots
snapshot_interval="2000"

# nothing for archive
sed -i "s/^pruning *=.*/pruning = \"nothing\"/;\
s/^snapshot-interval *=.*/snapshot-interval = $snapshot_interval/" $HOME/.celestia-app/config/app.toml

Create service

tee $HOME/celestia-appd.service > /dev/null <<EOF 
[Unit]
Description=celestia-appd 
After=network-online.target 
[Service] 
User=$USER 
ExecStart=$(which celestia-appd) start --home $HOME/.celestia-app 
Restart=on-failure 
RestartSec=10 LimitNOFILE=65535 
[Install] 
WantedBy=multi-user.target
EOF
sudo mv $HOME/celestia-appd.service /etc/systemd/system/
sudo systemctl enable celestia-appd
sudo systemctl daemon-reload
celestia-appd keys add wallet

Check addr Validator

 celestia-appd keys show yourwallet --bech val -a

Snapshot

sudo systemctl stop celestia-appd 

cp $HOME/.celestia-app/data/priv_validator_state.json $HOME/.celestia-app/priv_validator_state.json.backup 

rm -rf $HOME/.celestia-app/data $HOME/.celestia-app/wasmPath
curl https://mainnet-files.itrocket.net/celestia/snap_celestia.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.celestia-app 

mv $HOME/.celestia-app/priv_validator_state.json.backup $HOME/.celestia-app/data/priv_validator_state.json 

sudo systemctl restart celestia-appd && sudo journalctl -u celestia-appd -f

Check sync

celestia-appd status 2>&1 | jq .SyncInfo.catching_up

If it is False => Create Validator

CELESTIA_MONIKER=LuckyResearch
celestia-appd tx staking create-validator \
--amount=1000000utia \
--pubkey=$(celestia-appd tendermint show-validator) \
--moniker=$CELESTIA_MONIKER \
--chain-id=celestia \
--commission-rate=0.1 \
--commission-max-rate=0.2 \
--commission-max-change-rate=0.01 \
--min-self-delegation=1000000 \
--from=wallet \
--identity=F971ECC74111BE74 \
--keyring-backend=test \
--fees=36000utia \
--gas-adjustment=1.5 \
--gas=500000 \
-y

Last updated