Solana là chuỗi đòi hỏi cao nhất để tự chạy. Validator hoặc node RPC đầy đủ cần CPU rất nhanh, lượng RAM lớn và ổ NVMe nhanh, và các yêu cầu liên tục thay đổi. Hướng dẫn này giải thích điều đó có nghĩa gì trong thực tế, để bạn quyết định mình cần node riêng hay một cấu hình nhỏ hơn.
Validator, node RPC hay không cần?
- Validator. Bỏ phiếu cho các khối và cần cấu hình phần cứng đầy đủ, một tài khoản vote có tiền và thời gian hoạt động liên tục.
- Node RPC. Phục vụ yêu cầu cho ứng dụng, bot và indexer. Nó không bỏ phiếu, nhưng vẫn cần phần cứng tương tự, và nhiều RAM hơn nếu bạn bật account index.
- Dùng nhẹ hơn. Nếu bạn chỉ gửi vài giao dịch hoặc đọc ít dữ liệu, một endpoint RPC trả phí thường rẻ hơn chạy node.
Hãy xem yêu cầu validator Solana chính thức trước khi mua. Chúng được công bố trong tài liệu Solana và Agave và thay đổi theo mạng lưới. Tạm ước lượng, hãy chuẩn bị hàng trăm GB RAM cho node RPC bận rộn và nhiều ổ NVMe nhanh. Đó là lãnh địa của máy chủ riêng, không phải VPS nhỏ. Trang Solana node hosting của chúng tôi liệt kê các lựa chọn đã định cỡ.
Bước 1: chuẩn bị máy chủ
Dùng Ubuntu LTS và các bước trong cách bảo mật VPS mới. Tạo một người dùng riêng và đặt ledger và accounts trên các ổ NVMe riêng nếu bạn có nhiều hơn một ổ.
sudo adduser --disabled-password --gecos "" sol
sudo mkdir -p /mnt/ledger /mnt/accounts
sudo chown -R sol:sol /mnt/ledger /mnt/accounts
Bước 2: nâng giới hạn hệ thống
Solana mở nhiều tệp và dùng các memory map lớn. Thêm các dòng sau vào /etc/sysctl.d/21-solana.conf và vào unit systemd của bạn:
vm.max_map_count=1000000
net.core.rmem_max=134217728
net.core.wmem_max=134217728
# in the systemd unit:
LimitNOFILE=1000000
Áp dụng bằng sudo sysctl --system.
Bước 3: cài đặt phần mềm validator
Cài bản Agave hiện tại (client validator của Solana) theo phương pháp trong tài liệu chính thức, và xác minh nó. Sau đó kiểm tra phiên bản:
agave-validator --version
solana --version
Bước 4: khởi động node RPC
Đây là dạng điển hình của lệnh khởi động cho node RPC không bỏ phiếu. Hãy dùng các validator đã biết và entrypoint từ tài liệu chính thức cho cluster của bạn.
agave-validator \
--identity /home/sol/identity.json \
--ledger /mnt/ledger \
--accounts /mnt/accounts \
--entrypoint ENTRYPOINT:8001 \
--known-validator KNOWN_VALIDATOR_PUBKEY \
--only-known-rpc \
--rpc-port 8899 \
--private-rpc \
--no-voting \
--full-rpc-api \
--limit-ledger-size \
--log /var/log/solana/validator.log
Thay các giá trị giữ chỗ bằng giá trị từ tài liệu. --private-rpc ngăn cổng RPC bị quảng bá ra mạng, và bạn vẫn nên đóng nó bằng tường lửa.
Bước 5: theo dõi quá trình bắt kịp
solana catchup --our-localhost
solana-validator --ledger /mnt/ledger monitor
Việc bắt kịp từ snapshot mất từ vài phút đến vài giờ. Nếu node tụt lại và không bao giờ phục hồi, nguyên nhân thường là ổ đĩa hoặc mạng của bạn.
Tường lửa
Hãy cho phép dải cổng gossip và TPU được mô tả trong tài liệu (dải mặc định là 8000 đến 10000) và giữ RPC (8899 và 8900) ở chế độ riêng tư. Hãy đặt một reverse proxy có xác thực phía trước nếu bạn buộc phải phục vụ RPC cho các máy khác.