이 튜토리얼은 자체 Base 노드를 설정하는 방법을 안내합니다.Documentation Index
Fetch the complete documentation index at: https://daehan-base.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
목표
이 튜토리얼을 마치면 다음을 할 수 있습니다:- Base 노드 배포 및 동기화
- 200ms 사전 확인을 위한 플래시블록 활성화
사전 요구 사항
하드웨어 요구 사항
노드를 실행하기 위해 이 구성을 권장합니다:- 8코어 CPU
- 최소 16 GB RAM
- 로컬로 연결된 NVMe SSD 드라이브
- 충분한 스토리지 용량:
- 최소:
(2 × 체인_크기) + 스냅샷_크기 + 20% 버퍼 - 스냅샷 복원(해당 시)과 체인 데이터 고려
- 최소:
Amazon Elastic Block Store (EBS)를 사용하는 경우, 초기 동기화 중 Base에 추가되는 새 블록 속도와 함께 지연 문제를 피하기 위해 타이밍 버퍼 디스크 읽기가 충분히 빠른지 확인하세요;
io2 block express를 권장합니다.네트워킹
피어 발견 및 동기화를 위해 다음 포트가 접근 가능한지 확인하세요(방화벽으로 차단되지 않도록):| 포트 | 프로토콜 | 목적 |
|---|---|---|
30303 | TCP/UDP | P2P 발견 (discv4) & RLPx |
9222 | TCP/UDP | Reth 발견 v5 (discv5) |
포트
9222는 Reth 피어 발견에 매우 중요합니다. 이 포트가 차단되면 노드가 피어를 찾고 동기화하는 데 어려움을 겪을 수 있습니다.Docker
이 튜토리얼은 Docker에 익숙하고 머신에서 실행 중이라고 가정합니다.L1 RPC URL
자체 L1 RPC URL이 필요합니다. 직접 실행하거나 파트너와 같은 서드파티 제공업체를 통해 사용할 수 있습니다.노드 실행
- 저장소를 클론합니다.
- 이더리움 L1 풀 노드 RPC가 준비되어 있는지 확인하고(Base가 아님)
OP_NODE_L1_ETH_RPC와OP_NODE_L1_BEACON을 설정합니다(docker-compose를 사용하는 경우.env.*파일에서). 자체 L1 노드를 실행하는 경우 Base가 완전히 동기화되려면 L1 노드가 먼저 동기화되어야 합니다. docker-compose.yml의 2개env_file키 아래 네트워크에 해당하는 줄(.env.sepolia또는.env.mainnet)의 주석을 해제합니다.docker compose up을 실행합니다. 다음에서 응답이 오는지 확인합니다:
Terminal
스냅샷
Base 노드 운영자이고 초기 동기화에 상당한 시간을 절약하고 싶다면 스냅샷에서 복원할 수 있습니다. 스냅샷은 매주 업데이트됩니다.동기화
다음으로 동기화 진행 상황을 모니터링할 수 있습니다:Terminal
Error: nonce has already been used가 발생하면 동기화가 완료되지 않은 것입니다.
플래시블록 활성화
노드가 동기화되면 애플리케이션에 200ms 사전 확인을 제공하는 플래시블록을 활성화할 수 있습니다.설정
플래시블록을 활성화하려면 다음 환경 변수로 노드를 시작합니다:| 변수 | 설명 | 값 |
|---|---|---|
NODE_TYPE | 플래시블록이 있는 base reth 노드 활성화 | base |
CLIENT | 실행 클라이언트 | reth |
RETH_FB_WEBSOCKET_URL | 플래시블록 WebSocket 엔드포인트 | 아래 참조 |
WebSocket 엔드포인트
| 네트워크 | URL |
|---|---|
| 메인넷 | wss://mainnet.flashblocks.base.org/ws |
| Sepolia | wss://sepolia.flashblocks.base.org/ws |
base 바이너리는 플래시블록 WebSocket 스트림을 수신하고 사전 확인 데이터를 캐시합니다. 플래시블록 인식 RPC 메서드가 호출되면 이 캐시에서 데이터를 반환합니다. 전체 메시지 스키마 및 페이로드 구조는 플래시블록 API 개요를 참조하세요.