Nodes/base/docker

base

Base Docker 노드 가이드

3분 읽기 · docker

list목차(6)

Base Docker 노드 가이드

Base는 OP Stack 기반이므로 Optimism과 동일한 방식으로 운영합니다. Base 공식 저장소(base-org/node)가 편의 docker-compose를 제공합니다.

빠른 실행 (base-org/node 템플릿)

git clone https://github.com/base-org/node.git
cd node

cp .env.sample .env
# .env 편집:
#   OP_NODE_L1_ETH_RPC=<L1 Execution RPC>
#   OP_NODE_L1_BEACON=<L1 Beacon API>
#   OP_NODE_L1_RPC_KIND=debug_geth  (self-hosted geth면)
#   NETWORK_ENV=mainnet             (or sepolia)
#   CLIENT=geth                     (reth, erigon 선택 가능)

# 실행
docker compose up --build -d
docker compose logs -f node

포트

  • 8545: op-geth HTTP JSON-RPC
  • 8546: op-geth WebSocket
  • 9545: op-node HTTP RPC
  • 9222: op-geth P2P
  • 9223: op-node P2P

스냅샷 (강력 권장)

Genesis부터 동기화는 수 주가 걸립니다.

# 예시 (공식 문서 최신 경로 확인 필수)
wget https://<BASE_SNAPSHOT_URL>/base-mainnet-snapshot.tar.zst
zstd -d base-mainnet-snapshot.tar.zst -o - | tar -x -C ./geth-data

상태 확인

# L2 최신 블록
curl -s -X POST http://localhost:8545 \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' | jq

# op-node 동기화 상태
curl -s -X POST http://localhost:9545 \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","method":"optimism_syncStatus","params":[],"id":1}' | jq '.result.finalized_l2.number'

Optimism과의 차이

  • Chain ID: Base 8453 vs OP Mainnet 10
  • Sequencer: Coinbase 운영 (Base Mainnet) — --rollup.sequencerhttp=https://mainnet-sequencer.base.org
  • Rollup config: base-mainnet.json 사용 (base-org/node가 자동 포함)

프로덕션 팁

  • L1 Beacon API의 blob 보존 기간(기본 ~18일) 이후 데이터 필요 시 blob archiver 연동
  • 저장소 CLIENT=reth 또는 CLIENT=erigon으로 EL 클라이언트 전환 가능

base 다른 챕터