Polygon PoS Docker 노드 가이드
Polygon은 Heimdall과 Bor 두 컨테이너를 함께 실행합니다. 공식 저장소에서 docker-compose 예시를 배포합니다.
- 공식 문서: https://docs.polygon.technology/pos/how-to/full-node-deployment/
- 공식 이미지: 0xpolygon/heimdall, 0xpolygon/bor
- 공식 저장소: https://github.com/maticnetwork/node-ansible / https://github.com/maticnetwork/launch
docker-compose 예시 (Mainnet Sentry)
services:
heimdall:
image: 0xpolygon/heimdall:2.0.3
container_name: heimdalld
restart: unless-stopped
ports:
- "26657:26657" # Tendermint RPC
- "26656:26656" # P2P
volumes:
- ./heimdall-data:/root/.heimdalld
environment:
ETH_RPC_URL: https://<L1_ETH_RPC>
command:
- heimdalld
- start
- --home=/root/.heimdalld
bor:
image: 0xpolygon/bor:2.0.6
container_name: bor
restart: unless-stopped
depends_on: [heimdall]
ports:
- "8545:8545" # JSON-RPC
- "30303:30303" # P2P
volumes:
- ./bor-data:/root/.bor
command:
- server
- --chain=mainnet
- --bor.heimdall=http://heimdall:1317
- --syncmode=full
초기화
# Heimdall
docker run --rm -v $(pwd)/heimdall-data:/root/.heimdalld \
0xpolygon/heimdall:2.0.3 \
heimdalld init --chain=mainnet --home=/root/.heimdalld
# Bor
docker run --rm -v $(pwd)/bor-data:/root/.bor \
0xpolygon/bor:2.0.6 \
server --chain=mainnet --init --home=/root/.bor
# Mainnet genesis/peers는 `launch` 저장소의 최신 파일 사용
스냅샷 (사실상 필수)
- 공식 스냅샷: https://snapshots.polygon.technology/
- Heimdall/Bor 각각 수백 GB 다운로드 + 압축 해제
상태 확인
# Bor JSON-RPC
curl -s -X POST http://localhost:8545 \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' | jq
# Heimdall Tendermint
curl -s http://localhost:26657/status | jq '.result.sync_info'