Nodes/celestia/localhost

celestia

Celestia 호스트 설치 가이드

4분 읽기 · localhost

list목차(9)

Celestia 호스트 설치 가이드

Ubuntu 22.04 기준 celestia-node / celestia-app 소스 빌드 및 실행 개요입니다.

시스템 요구사항

유형 CPU RAM Disk Network
Light 2+ vCPU 4 GB+ 50 GB SSD 100 Mbps
Bridge 6+ vCPU 16 GB+ 1 TB NVMe 100 Mbps+
Full Storage 8+ vCPU 32 GB+ 수 TB NVMe 1 Gbps
Validator 8+ vCPU 32 GB+ 1 TB+ NVMe 1 Gbps

빌드 (celestia-node)

# Go 1.22+
git clone https://github.com/celestiaorg/celestia-node.git
cd celestia-node
git checkout v0.19.1-mocha
make build
sudo mv build/celestia /usr/local/bin/
celestia version

Light Node 실행 (Mainnet)

celestia light init --p2p.network celestia
celestia light start --p2p.network celestia \
  --core.ip consensus-full.celestia.org \
  --rpc.addr 0.0.0.0

celestia-app (Consensus/Validator)

git clone https://github.com/celestiaorg/celestia-app.git
cd celestia-app
git checkout v3.3.2
make install
celestia-appd version

초기화

MONIKER="my-celestia-node"
celestia-appd init "$MONIKER" --chain-id celestia

# genesis 다운로드
curl -sSL https://raw.githubusercontent.com/celestiaorg/networks/master/celestia/genesis.json \
  > ~/.celestia-app/config/genesis.json

# 시드/피어
SEEDS="$(curl -sSL https://raw.githubusercontent.com/celestiaorg/networks/master/celestia/seeds.txt | tr '\n' ',' | sed 's/,$//')"
sed -i.bak "s|^seeds *=.*|seeds = \"$SEEDS\"|" ~/.celestia-app/config/config.toml

State Sync (권장)

# ~/.celestia-app/config/config.toml
[statesync]
enable = true
rpc_servers = "https://celestia-rpc.polkachu.com:443,https://rpc-celestia.mzonder.com:443"
trust_height = 2100000
trust_hash = "<위 높이의 해시>"
trust_period = "168h0m0s"

trust height/hash는 Polkachu state sync에서 최신값 확인.

실행

celestia-appd start

systemd 서비스 (Light Node 예시)

# /etc/systemd/system/celestia-light.service
[Unit]
Description=Celestia Light Node
After=network-online.target

[Service]
User=celestia
ExecStart=/usr/local/bin/celestia light start \
  --p2p.network celestia \
  --core.ip consensus-full.celestia.org \
  --rpc.addr 0.0.0.0
Restart=on-failure
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target

상태 조회

# celestia-app (Tendermint RPC)
curl -s http://localhost:26657/status | jq '.result.sync_info'

# celestia-node (Light/Bridge)
AUTH=$(celestia light auth admin --p2p.network celestia)
curl -s -X POST http://localhost:26658 \
  -H "Authorization: Bearer $AUTH" \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"header.LocalHead","params":[]}' | jq

celestia 다른 챕터