arbitrum

Arbitrum Docker 노드 가이드

4분 읽기 · docker

list목차(7)

Arbitrum Docker 노드 가이드

Arbitrum Nitro는 공식 offchainlabs/nitro-node Docker 이미지를 배포합니다. 가장 일반적인 실행 방식이며, 공식 문서도 Docker를 기본 예시로 사용합니다.

전제: L1 RPC 준비

Arbitrum 노드는 L1 Ethereum RPC가 필수입니다. 다음 중 하나를 준비하세요.

빠른 실행 (Arbitrum One Mainnet)

# 데이터 디렉토리
sudo mkdir -p /data/arbitrum
sudo chmod -R 777 /data/arbitrum   # 운영 시 UID/GID 맞춤 권장

docker run --rm -d --name arb-nitro \
  -p 8547:8547 -p 8548:8548 -p 9642:9642 \
  -v /data/arbitrum:/home/user/.arbitrum \
  offchainlabs/nitro-node:v3.1.2-309340a \
    --parent-chain.connection.url https://<L1_RPC_URL> \
    --chain.id 42161 \
    --http.api=net,web3,eth,arb,debug \
    --http.corsdomain=* --http.addr=0.0.0.0 --http.vhosts=* \
    --ws.addr=0.0.0.0 --ws.api=net,web3,eth,arb
  • 8547: HTTP JSON-RPC
  • 8548: WebSocket RPC
  • 9642: Prometheus 메트릭

--parent-chain.connection.url은 L1 RPC입니다. Consensus 클라이언트 포함이 아닌, Execution JSON-RPC 엔드포인트면 됩니다. 노드 초기 동기화 시 L1 API 호출량이 많으니 self-hosted L1을 권장합니다.

스냅샷 (강력 권장)

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

Arbitrum Nova / Sepolia

--chain.id--parent-chain.connection.url을 변경합니다.

네트워크 Chain ID 부모 체인
Arbitrum One 42161 Ethereum Mainnet
Arbitrum Nova 42170 Ethereum Mainnet
Arbitrum Sepolia 421614 Sepolia

상태 확인

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

메트릭 엔드포인트 (Prometheus)

Nitro 노드는 두 엔드포인트를 제공합니다.

  • EL 메트릭: --metrics --metrics.addr=0.0.0.0 --metrics.port=6070GET http://<host>:6070/debug/metrics/prometheus
  • Nitro 전역 메트릭: --metrics-server.addr=0.0.0.0 --metrics-server.port=9642GET http://<host>:9642/

컨테이너에서는 해당 포트를 매핑하세요: -p 6070:6070 -p 9642:9642

전체 모니터링 스택: ../../../common/monitoring-stack.md.

프로덕션 팁

  • --execution.caching.archive 플래그로 Archive 노드 구성 가능(디스크 요구량 수십 TB 급증)
  • Validator/Batch Poster/Sequencer 역할은 offchainlabs와 사전 협의 필요
  • L1 RPC 지연이 동기화 속도의 최대 병목 — 같은 호스트/리전에 L1 노드 배치 권장

arbitrum 다른 챕터