Solana 노드 가이드
Solana 검증자(Validator) 및 RPC 노드 설치·운영에 대한 가이드입니다.
공식 문서: Solana Validator Docs · Setup an RPC Node.
Solana 노드 구성
Solana RPC 서버는 검증자와 동일한 프로세스(solana-validator)를 사용합니다.
합의에 참여하지 않고 RPC만 제공하려면 --no-voting으로 실행하면 됩니다.
Validator vs RPC Node
| 구분 | Validator | RPC Node |
|---|---|---|
| 역할 | 합의 참여(투표), 블록 검증 | RPC API 제공, 블록·트랜잭션 조회·브로드캐스트 |
| Vote 계정 | 필요 | 불필요 (RPC만 쓸 경우) |
| 플래그 | vote account 지정 | --no-voting |
| 리소스 | 높음 | RPC 전용 시 상대적으로 낮음 |
RPC 노드 설정은 Setup an RPC Node를 참고하세요.
설치 방법
Localhost 설치 (호스트에 직접 설치)
호스트(Ubuntu 권장)에 Solana CLI·validator를 설치하고 실행하는 방법입니다.
장점:
- 공식 권장 방식 (Docker는 라이브 클러스터 비권장)
- 시스템 리소스 직접 제어
- 시스템 튜닝 적용 용이
시작하기: localhost/README.md
Docker 설치 (RPC 노드)
Ubuntu 기반 Docker 이미지로 Solana RPC 노드를 실행하는 방법입니다. 블록 조회·트랜잭션 브로드캐스트 가능한 풀 RPC API를 제공합니다.
장점:
- 동일한 환경에서 재현 가능한 실행
- Ledger/Accounts/Identity 한 볼륨으로 관리
시작하기: docker/README.md
공식 문서는 라이브 클러스터 검증자의 Docker 운영을 권장하지 않습니다. RPC 전용 노드는 Docker 구성을 제공하며, 고부하·프로덕션은 localhost 설치를 권장합니다.
폴더 구조
solana/
├── README.md # 이 파일
├── localhost/ # 호스트 설치 가이드
│ ├── README.md
│ ├── installation.md # 설치 가이드 (CLI → Validator → RPC)
│ ├── configuration.md # 설정·플래그 참고
│ ├── troubleshooting.md # 트러블슈팅
│ └── updates/
│ └── README.md
└── docker/ # Docker RPC 노드
├── README.md
├── Dockerfile
├── docker-compose.yml
├── launcher.sh
├── .env.example
└── .dockerignore
하드웨어 요구사항
Requirements 기준 요약입니다.
검증자 최소 권장
- CPU: SHA 확장 지원 (Intel Ice Lake+, AMD Gen 3+)
- RAM: 256 GB 이상 (ECC 권장), 마더보드 512 GB 지원 권장
- 디스크: Ledger 1 TB+ NVMe, Accounts 500 GB+ NVMe (별도 디스크 권장), OS 500 GB (SATA 가능)
- 네트워크: 1 Gbit/s 대칭 이상, 10 Gbit/s 권장
RPC 노드 권장
- CPU: 16코어/32스레드 이상
- RAM:
--account-index사용 시 512 GB 이상 권장 - 디스크: Ledger와 Accounts를 서로 다른 디스크에 배치, 장기 히스토리 필요 시 Ledger 디스크 증설
소프트웨어
- OS: Ubuntu 20.04 권장 (공식 빌드 환경)
- 바이너리: Linux x86_64, AVX2 지원 CPU. macOS/WSL은 소스 빌드.
클러스터
- Mainnet Beta:
https://api.mainnet-beta.solana.com, 엔트리포인트entrypoint.mainnet-beta.solana.com:8001등 - Testnet:
https://api.testnet.solana.com - Devnet:
https://api.devnet.solana.com
엔트리포인트·known-validator·expected-genesis-hash 예시는 Available Clusters를 참고하세요.