사전 요구 사항
기본 Linux 관리 기술
Docker 및 Docker Compose 설치
하드웨어 요구 사항을 충족하는 서버
사용 가능한 네트워크
| 네트워크 | 체인 ID | 합의 버전 | 실행 버전 |
|---|---|---|---|
| mainnet | 9745 | 0.15.0 | Reth v1.8.3 |
| testnet | 9746 | 0.15.0 | Reth v1.8.3 |
| devnet | 9747 | 0.15.0 | Reth v1.8.3 |
plasma-consensus-public 이미지를 사용합니다 — GHCR 인증이 필요하지 않습니다.
빠른 시작
아키텍처 개요
비검증 노드는 두 가지 주요 구성 요소로 구성됩니다:Plasma 실행 클라이언트
Reth 기반. 트랜잭션 실행, 상태 관리를 처리하며 애플리케이션을 위한 JSON-RPC 엔드포인트를 제공합니다.
Plasma 옵저버 클라이언트
블록 생성이나 검증에 참여하지 않고 Plasma 합의 네트워크를 모니터링하는 가벼운 클라이언트입니다.
디렉터리 구조
각 네트워크 디렉터리는 동일한 레이아웃을 따릅니다:설정 프로세스 설명
Docker Compose 파일은 순차적으로 실행되는 네 가지 서비스를 정의합니다:OpenSSL 초기화
안전한 Engine API 통신을 위한 JWT 시크릿을 생성하고 노드의 네트워크 신원을 위한 secp256k1 키를 만듭니다. 이는 한 번만 생성되고 재시작 시에도 유지됩니다.
구성
모든 버전 번호와 이미지 태그는 각 네트워크의.env 파일에 정의되어 있으며, 이는 소프트웨어 버전의 단일 진실 원천입니다. 합의 클라이언트는 non-validator.toml을 통해 구성됩니다.
합의 구성 참조 (non-validator.toml)
합의 구성 참조 (non-validator.toml)
| 섹션 | 필드 | 설명 |
|---|---|---|
| (최상위) | engine_api_url, consensus_api_host, authrpc_jwtsecret | 실행 엔진 연결 |
[persistence] | data_dir | 합의 데이터 저장 경로 |
[network] | p2p_port, interval, timeout, identity_file_path, trusted_only, discovery.enabled | P2P 네트워킹 및 피어 디스커버리 |
[api] | enabled, host, port | 합의 API 엔드포인트 |
[validators.*] | validator_keystore_pk_file_path, identity_file_path | 검증자 위원회 |
[network.bootstrap_nodes.*] | api_host, p2p_port, peer_id | 합의 부트스트랩 피어 |
NAT / 외부 주소
NAT 뒤에 있는 노드의 경우, 피어가 노드를 발견하고 연결할 수 있도록 외부 주소를 구성하세요:포트 구성
| 포트 | 서비스 | 프로토콜 | 설명 |
|---|---|---|---|
8545 | 실행 RPC | HTTP | JSON-RPC API 엔드포인트 |
8551 | 실행 인증 | HTTP | Engine API (내부) |
30303 | 실행 P2P | TCP/UDP | P2P 네트워킹 |
34070 | 합의 P2P | TCP | 합의 네트워킹 |
35070 | 합의 API | HTTP | 합의 상태/API 엔드포인트 |
9001 | 메트릭 | HTTP | Prometheus 메트릭 |
일반 작업
노드 모니터링
노드가 운영되면 상태와 동기화 상태를 모니터링할 수 있습니다. 종합적인 모니터링 설정과 모범 사례는 모니터링 가이드를 참조하세요.- 상태 확인
- 동기화 상태
- 엔드포인트
데이터베이스 스냅샷
Plasma는 mainnet과 testnet에 대해 일일 데이터베이스 스냅샷을 게시합니다. 스냅샷은 제네시스부터 동기화하는 대신 새 노드를 몇 시간 안에 부트스트랩할 수 있게 해주며, 제네시스부터 동기화는 상당히 더 오래 걸릴 수 있습니다. 각 스냅샷에는 두 개의 파일 — 합의 계층 데이터베이스와 실행 계층 데이터베이스 — 이 포함되어 있으며, 요청자 지불 S3 버킷에 업로드됩니다. AWS 계정이 필요하며 표준 S3 데이터 전송 요금이 적용됩니다.스냅샷 사전 요구 사항
| 요구 사항 | 세부 사항 |
|---|---|
| AWS 계정 | aws configure 또는 환경 변수를 통해 구성된 자격 증명 |
| AWS CLI | v2 권장 (aws --version) |
| 디스크 공간 | Mainnet: 약 400 GB 여유 • Testnet: 약 100 GB 여유 |
us-east-2에서의 데이터 전송 비용은 첫 10 TB/월에 대해 약 $0.09/GB입니다. 같은 리전의 EC2 인스턴스에서 전송하는 것은 무료이므로 — us-east-2에서 노드를 실행하는 것이 가장 비용 효율적입니다.스냅샷 버킷
| 속성 | Mainnet | Testnet |
|---|---|---|
| 버킷 | plasma-mainnet-db-backups | plasma-testnet-db-backups |
| 리전 | us-east-2 (Ohio) | us-east-2 (Ohio) |
| 액세스 모델 | 요청자 지불 | 요청자 지불 |
| 백업 주기 | 일일 | 매일 02:00 UTC |
| 보존 | 롤링 (오래된 백업은 자동으로 제거됨) | 3일 |
MM-DD-YY)로 정리됩니다. 각 폴더에는 두 개의 파일이 포함됩니다:
| 파일 | 설명 |
|---|---|
합의 데이터베이스 (mainnet은 .db, testnet은 .mdb) | 전체 합의 계층 상태 |
실행 데이터베이스 (.tar.gz) | Reth 실행 data/ 디렉터리의 Tar 아카이브 |
스냅샷 다운로드
스냅샷에서 복원
스냅샷 문제 해결
| 문제 | 원인 / 해결 |
|---|---|
Access Denied | 모든 명령에 --request-payer requester를 포함해야 합니다. 버킷은 그것 없이는 요청을 거부합니다. |
403 Forbidden | AWS 자격 증명이 구성되지 않았습니다. 유효한 세션이 있는지 확인하려면 aws sts get-caller-identity를 실행하세요. |
| 빈 버킷 목록 | 오래된 백업은 자동으로 정리됩니다. 버킷이 비어 있어 보이면 백업 주기가 진행 중일 수 있습니다 — 나중에 다시 확인하세요. |
| 잘못된 파일 확장자 | Mainnet은 .db를 사용하고 testnet은 .mdb를 사용합니다. 네트워크에 맞는 파일을 복사하세요. |