optimism

Optimism Docker 노드 가이드

3분 읽기 · docker

list목차(7)

Optimism Docker 노드 가이드

OP Stack 노드는 op-geth + op-node 두 컨테이너 조합이 표준이며, 공식 저장소 optimism/ops/op-stack/docker-composesimple-optimism-node 도구가 널리 쓰입니다.

전제: L1 Ethereum (Execution + Beacon)

OP Stack은 L1 Beacon API(blob sidecar 등)를 필요로 합니다. 다음이 필요합니다.

  • L1 Execution JSON-RPC (예: Geth)
  • L1 Beacon / Consensus API (예: Prysm / Lighthouse)

자체 노드 구성은 ../../ethereum/docker/README.md 참고.

빠른 실행 (simple-optimism-node)

git clone https://github.com/smartcontracts/simple-optimism-node.git
cd simple-optimism-node

cp .env.example .env
# .env 편집 — 최소 설정:
#   NETWORK_NAME=op-mainnet
#   NODE_TYPE=full
#   OP_GETH_GENESIS_FILE_URL=... (mainnet genesis)
#   L1_RPC_URL=<http://your-l1-geth:8545>
#   L1_BEACON_URL=<http://your-l1-beacon:5052>
#   L1_RPC_KIND=debug_geth

docker compose up -d
docker compose logs -f op-node

포트 (기본값)

  • 8545: op-geth HTTP JSON-RPC
  • 8546: op-geth WebSocket
  • 9545: op-node HTTP RPC (optional)
  • 7300: op-node P2P
  • 30303: op-geth P2P

스냅샷 (권장)

Genesis부터 동기화는 수 주가 걸립니다. 공식 스냅샷으로 시작하세요.

상태 확인

# 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

OP Sepolia

.env에서 NETWORK_NAME=op-sepolia로 변경. L1은 Sepolia Execution+Beacon이 필요합니다.

프로덕션 팁

  • L1 Beacon API의 blob_sidecars 유지 기간(기본 ~18일)이 짧으면 재동기화 시 문제. 필요하면 blob archiver 연동 고려
  • op-node 로그에서 derivation 단계를 보면 동기화 상태 파악 가능

optimism 다른 챕터