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.11.0 -b v1.11.0
make install
cd celestia-app
celestia-appd init "your node" --chain-id mocha
celestia-appd config chain-id mocha
celestia-appd config keyring-backend test

Copy genesis - Minimum gas prices - Addrbook

cp $HOME/networks/mocha-4/genesis.json $HOME/.celestia-app/config/
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.002utia\"|" $HOME/.celestia-app/config/app.toml

curl -Ls https://snapshots.kjnodes.com/celestia-testnet/addrbook.json > $HOME/.celestia-app/config/addrbook.json

Seed - Peer

SEEDS="9aa8a73ea9364aa3cf7806d4dd25b6aed88d8152@celestia-testnet.seed.mzonder.com:11156" sed -i "s|^seeds =.|seeds = "$SEEDS"|" $HOME/.celestia-app/config/config.toml ' or seed="61202a4c5c1164775750312ffa3849207e5d6dbe@rpc-t.celestia.nodestake.top:666" sed -i.bak -e "s/^seed =./seed = "$seed"/" ~/.celestia-app/config/config.toml

peers="[email protected]:26656,[email protected]:26656,[email protected]:43656,[email protected]:26656,[email protected]:2400,[email protected]:25009,[email protected]:11656,[email protected]:11656,[email protected]:11656,[email protected]:26656,[email protected]:26656,[email protected]:6050" sed -i.bak -e "s/^persistent_peers =./persistent_peers = "$peers"/" ~/.celestia-app/config/config.toml

sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.celestia-app/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.celestia-app/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"50\"/" $HOME/.celestia-app/config/app.toml

sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.celestia-app/config/config.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

celestia-appd tendermint unsafe-reset-all --home $HOME/.celestia-app --keep-addr-book

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

curl -L https://snapshots.kjnodes.com/celestia-testnet/snapshot_latest.tar.lz4 | tar -Ilz4 -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 && journalctl -u celestia-appd -f -o cat

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=mocha-4 \
--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