OffshoreVps
Bài hướng dẫn17 thg 10 20267 phút đọcBởi đội ngũ OffshoreVps

Chạy node RPC Solana: yêu cầu và cách thiết lập

Validator hoặc node RPC Solana thực sự cần gì, cách tinh chỉnh hệ thống, khởi động node RPC với client Agave và khi nào một lựa chọn nhỏ hơn là khôn ngoan hơn.

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.

Cửa sổ terminal trên VPS hiển thị các lệnh dùng để chạy node RPC Solana, bắt đầu bằng “sudo adduser --disabled-password --gecos "" sol”
Loại lệnh bạn sẽ chạy trên máy chủ của mình trong hướng dẫn này.

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.

Các bước của hướng dẫn này theo thứ tự: 1. Validator, node RPC hay không cái nào?; 2. chuẩn bị máy chủ; 3. nâng giới hạn hệ thống; 4. khởi động node RPC; 5. theo dõi nó bắt kịp; 6. Tường lửa
Các bước trong hướng dẫn này, theo thứ tự.

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.