**Website**
[<https://celestia.org/>](<https://celestia.org/>)
**Docs**
[<https://docs.celestia.org/>](<https://docs.celestia.org/>)
**Explorers**
[<https://celestia.explorers.guru/>](<https://celestia.explorers.guru/>)
**Github**
[<https://github.com/celestiaorg>](<https://github.com/celestiaorg>)
# Update if needed
sudo apt update && sudo apt upgrade -y
# Insall packages
sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu -y
# Install GO
cd $HOME
ver="1.22.6"
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 v2.1.2
make install
cd $HOME
git clone <https://github.com/celestiaorg/networks>
# do init
celestia-appd init node --chain-id mocha-4
cd $HOME
git clone <https://github.com/celestiaorg/celestia-app.git>
cd celestia-app
git checkout v2.1.2
go mod edit -replace github.com/cometbft/cometbft-db=github.com/cometbft/[email protected]
go mod tidy
go mod edit -replace github.com/tendermint/tm-db=github.com/notional-labs/[email protected]
go mod tidy
go install -ldflags "-w -s -X github.com/cosmos/cosmos-sdk/types.DBBackend=pebbledb \\
-X github.com/cosmos/cosmos-sdk/version.Version=$(git describe --tags)-pebbledb \\
-X github.com/cosmos/cosmos-sdk/version.Commit=$(git log -1 --format='%H')" -tags pebbledb ./...
cd $HOME
git clone <https://github.com/celestiaorg/networks>
# do init
celestia-appd init node --chain-id mocha-4
# set pebbledb
db_backend="pebbledb"
sed -i "s/^db_backend *=.*/db_backend = \\"$db_backend\\"/" $HOME/.celestia-app/config/config.toml
sed -i "s/^app-db-backend *=.*/app-db-backend = \\"$db_backend\\"/" $HOME/.celestia-app/config/app.toml
# copy genesis
cp $HOME/networks/mocha-4/genesis.json $HOME/.celestia-app/config/
# reset
celestia-appd tendermint unsafe-reset-all --home $HOME/.celestia-app
SEEDS="9aa8a73ea9364aa3cf7806d4dd25b6aed88d8152@celestia-testnet.seed.mzonder.com:11156"
sed -i "s|^seeds *=.*|seeds = \\"$SEEDS\\"|" $HOME/.celestia-app/config/config.toml
# pruning and snapshots
pruning_keep_recent="50000"
pruning_interval=$(shuf -n1 -e 11 13 17 19 23)
snapshot_interval="2000"
sed -i "s/^pruning *=.*/pruning = \\"custom\\"/;\\
s/^pruning-keep-recent *=.*/pruning-keep-recent = \\"$pruning_keep_recent\\"/;\\
s/^pruning-interval *=.*/pruning-interval = \\"$pruning_interval\\"/;\\
s/^snapshot-interval *=.*/snapshot-interval = $snapshot_interval/" $HOME/.celestia-app/config/app.toml
#FOR RPC
sed -i 's/^max-recv-msg-size *=.*/max-recv-msg-size = "104857600"/' $HOME/.celestia-app/config/app.toml
sed -i 's/^discard_abci_responses *=.*/discard_abci_responses = false/' $HOME/.celestia-app/config/config.toml
sed -i 's/^indexer *=.*/indexer = "kv"/' $HOME/.celestia-app/config/config.toml
celestia-appd config chain-id mocha-4 --home $HOME/.celestia-app
celestia-appd config keyring-backend test --home $HOME/.celestia-app
Change ports here if needed
# 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 daemon-reload