posthuman - nodes
Celestia
Celestia websiteCelestia githubCelestia twitterCelestia discord

Celestia

type:
mainnet
chain id:
celestia
rpc:
https://rpc-celestia-mainnet.posthuman.digital
rest:
https://rest-celestia-mainnet.posthuman.digital
grpc:
https://grpc-celestia-mainnet.posthuman.digital
peer:
2cc7330049bc02e4276668c414222593d52eb718@135.181.227.236:40656
snapshots:
https://snapshots.posthuman.digital/celestia-mainnet/
  • installation guide
  • bridge node setup
  • full node setup
  • light node setup
  • snapshots
  • decentralize map
  • one liner
  • skill
  • contributions

Celestia Full Storage Node Setup

This guide installs a Celestia Data Availability full storage node on mainnet using celestia-node.

Current Version

  • Celestia node: v0.31.4
  • Network: celestia
  • Default full-node store: ~/.celestia-full
  • Trusted core RPC: https://rpc-celestia-mainnet.posthuman.digital

Requirements

  • 8 CPU cores or more
  • 64 GB RAM
  • 8 TiB NVMe for non-archival operation
  • 160 TiB NVMe for archival operation
  • 1 Gbps network

1. Install Packages and Go

sudo apt update && sudo apt upgrade -y sudo apt install -y curl git wget jq tar make gcc build-essential clang \ pkg-config libssl-dev ncdu lz4 cd "$HOME" GO_VERSION="1.26.2" if ! command -v go >/dev/null 2>&1; then wget "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" sudo rm -rf /usr/local/go sudo tar -C /usr/local -xzf "go${GO_VERSION}.linux-amd64.tar.gz" rm "go${GO_VERSION}.linux-amd64.tar.gz" fi grep -q "/usr/local/go/bin" "$HOME/.bash_profile" 2>/dev/null || \ echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> "$HOME/.bash_profile" source "$HOME/.bash_profile" 2>/dev/null || true

2. Build celestia-node

cd "$HOME" rm -rf celestia-node git clone https://github.com/celestiaorg/celestia-node.git cd celestia-node NODE_VERSION="v0.31.4" git checkout "tags/${NODE_VERSION}" make build sudo make install make cel-key celestia version

3. Initialize

celestia full init \ --core.ip https://rpc-celestia-mainnet.posthuman.digital \ --p2p.network celestia

Create or restore a key:

KEY_NAME="my_celes_key" cd "$HOME/celestia-node" ./cel-key add "$KEY_NAME" --keyring-backend test --node.type full # Restore existing key: # ./cel-key add "$KEY_NAME" --keyring-backend test --node.type full --recover

4. Create Systemd Service

sudo tee /etc/systemd/system/celestia-full.service > /dev/null <<EOF [Unit] Description=Celestia full storage node After=network-online.target [Service] User=$USER ExecStart=$(command -v celestia) full start \ --core.ip https://rpc-celestia-mainnet.posthuman.digital \ --core.rpc.port 443 \ --core.grpc.port 443 \ --keyring.accname my_celes_key \ --p2p.network celestia \ --metrics \ --metrics.tls=true \ --metrics.endpoint otel.celestia.observer Restart=on-failure RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF sudo systemctl daemon-reload sudo systemctl enable celestia-full sudo systemctl restart celestia-full journalctl -u celestia-full -f -o cat

5. Verify

systemctl status celestia-full --no-pager celestia header sync-state --node.store ~/.celestia-full celestia p2p info --node.store ~/.celestia-full celestia state balance --node.store ~/.celestia-full

6. Upgrade

sudo systemctl stop celestia-full cd "$HOME" rm -rf celestia-node git clone https://github.com/celestiaorg/celestia-node.git cd celestia-node NODE_VERSION="v0.31.4" git checkout "tags/${NODE_VERSION}" make build sudo make install make cel-key celestia full config-update sudo systemctl restart celestia-full

7. Remove

sudo systemctl stop celestia-full sudo systemctl disable celestia-full sudo rm -f /etc/systemd/system/celestia-full.service sudo systemctl daemon-reload rm -rf "$HOME/celestia-node" "$HOME/.celestia-full"