π Node installation
Update packages
sudo apt update && sudo apt upgrade -yInstall dependencies
sudo apt install curl tar wget clang pkg-config libssl-dev libleveldb-dev jq build-essential bsdmainutils git make ncdu htop screen unzip bc lz4 gcc -yInstall Go
cd $HOME && \
ver="1.26.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 versionThe output should be: go version go1.26.3 linux/amd64
Download binary for work
git clone https://github.com/celestiaorg/celestia-app
cd celestia-app
git checkout 10.4.0-mocha
make installSpecify variables, for ease of work
echo 'export celestia_moniker="Validator_name"' >> $HOME/.profile
echo 'export celestia_wallet="Wallet_name"' >> $HOME/.profile
echo 'export celestia_port="111"' >> $HOME/.profile
source $HOME/.profileInitialize the node
celestia-appd init $celestia_moniker --chain-id mocha-5Set the settings
celestia-appd config chain-id mocha-5 && \
peers=3c8ceed02c50b2c6b77333f1265e3fc2c13d269b@167.235.178.134:11656,0b6bb5c485d071cc1b9f826edf89e4726849f139@195.154.212.42:26656,41115ce4008ef08e63ea7e2538b01124919620ee@37.27.231.238:44656,a067d3f26afdd0a214df5f8d055c5495fe61810d@136.243.94.113:26656,037dec108882cf0b291d3f4677246c8b0b68a356@149.50.96.5:12056,5de6dcfb9ab6c4d8882596b2ad42cef2b67afc76@139.84.244.61:26656,2f056b3ed189b1afa090794332dd29a4839df983@154.45.250.85:26656,83498a5968388bfee2b1e55d56e07eb69c96ea8b@174.138.180.150:26656,c691844a9213083f324fa5f851b71d4091e0d918@64.130.45.52:26656,2d60a06a96bdfa43bc6b9cd980f89cbbc9aeb6c3@62.210.93.176:26656,c281ee671e281f9701eb28e145b0d68dd14ee8c6@195.154.212.12:26656,aa5a8b75e9549870f6fc7ae118d221257e417413@176.9.111.199:46656,ab86412e6c362738b203e6a21be92206e2fa275d@84.32.176.121:26656,f4db13a3af43571edcbc8c2a8b702138d770cba3@173.201.36.182:26656,1bbca8f6a7405e829563852ae250a01a443b52be@135.181.21.165:26656,b3a728c618174cf227004489a14521721ef5841a@62.210.93.173:26656,53849d640006381d7bdca4d0de9506596c8d59af@188.40.66.173:11656,a4e394e11c931c6d1eded9d918486dc25efb9d41@64.130.45.60:26656,89487bc081cad4b073b33cecb5db72b3654e1681@195.154.218.203:26656,0df16b033524cd5389ec5b01b13969118654f810@92.204.168.57:26670,3940d95f6ceabd790b9a97954aeec4243c40b708@193.34.213.77:12007,d11249a0b592da5f54be925cdd8a6b050111127d@89.107.20.19:30105,a11c478a3128f9d49c80ec57d5afe4256e9ef471@173.208.48.222:11656,5b1250b426e5ea12a129f7b8f480d67ef2c40455@102.203.82.2:46656,dbd78d7c61f1789814685d5ed37fb39ff054177d@135.181.227.236:39656,ed8359cd707c622b0a9250824e311ee1fdb65ba0@195.154.103.76:26656,49610092a93289255324b6959fd80d69964085fb@89.40.226.146:44656,72900633d70982d42b379e67e322b0da0b473237@64.20.55.10:26656,8b39812121d03a311d098163182438cbbe4d28d3@157.90.142.29:34856,f1c907cec503100f9a0692de30ac04349606bc67@45.113.226.208:36656 && \
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.celestia-app/config/config.toml && \
seeds="6b0ffcce9b59b91ceb8eea5d4599e27707e3604a@seeds.stakeup.tech:10238" && \
sed -i.bak -e "s/^seeds =.*/seeds = \"$seeds\"/" $HOME/.celestia-app/config/config.tomlCreate wallet
celestia-appd keys add $celestia_walletSave the wallet. Or restore if there is a mnemonic:
celestia-appd keys add $celestia_wallet --recoverDownload Genesis
celestia-appd download-genesis celestiaSet minimum gas price
sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0.002utia"|g' $HOME/.celestia-app/config/app.tomlOptional Settings
Memory optimization
cd $HOME/.celestia-app/config && \
indexer="null" && \
snapshot_interval="0" && \
pruning="custom" && \
pruning_keep_recent="1000" && \
pruning_interval="50" && \
sed -i.bak -e "s/^indexer *=.*/indexer = \"$indexer\"/" config.toml && \
sed -i.bak -e "s/^snapshot-interval *=.*/snapshot-interval = \"$snapshot_interval\"/" app.toml && \
sed -i.bak -e "s/^pruning *=.*/pruning = \"$pruning\"/" app.toml && \
sed -i.bak -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" app.toml && \
sed -i.bak -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" app.tomlChange port
cd $HOME/.celestia-app/config && \
sed -i.bak \
-e "s/:\s*26656/:${celestia_port}56/g" \
-e "s/:\s*26657/:${celestia_port}57/g" \
-e "s/:\s*26658/:${celestia_port}58/g" \
-e "s/:\s*26660/:${celestia_port}59/g" \
-e "s/:\s*6060/:${celestia_port}61/g" \
config.toml
sed -i.bak \
-e "s/:\s*1317/:${celestia_port}17/g" \
-e "s/:\s*8080/:${celestia_port}80/g" \
-e "s/:\s*8545/:${celestia_port}545/g" \
-e "s/:\s*8546/:${celestia_port}546/g" \
-e "s/:\s*9090/:${celestia_port}90/g" \
-e "s/:\s*9091/:${celestia_port}91/g" \
app.toml && \
echo 'export celestia_node=http://localhost:${celestia_port}57' >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
celestia-appd config node $celestia_nodeCreate a service file
sudo tee /etc/systemd/system/celestia-appd.service > /dev/null <<EOF
[Unit]
Description=celestia
After=network-online.target
[Service]
User=$USER
ExecStart=$(which celestia-appd) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload &&
sudo systemctl enable celestia-appd &&
sudo systemctl restart celestia-appd && sudo journalctl -u celestia-appd -f -o cat