OffshoreVps
教程2026年10月17日阅读约 7 分钟作者:OffshoreVps 团队

运行 Solana RPC 节点:要求与设置

Solana 验证者或 RPC 节点真正需要什么、如何调优系统、如何用 Agave 客户端启动 RPC 节点,以及何时选择更小的方案更明智。

Solana 是最难自己运行的区块链。验证者或完整 RPC 节点需要极快的 CPU、大量内存和高速 NVMe 磁盘,而且要求还在不断变化。本指南解释了这在实践中意味着什么,帮助你判断是需要自己的节点还是更小的方案。

VPS 上的终端窗口,显示运行 Solana RPC 节点所用的命令,以“sudo adduser --disabled-password --gecos "" sol”开头
本指南中你将在服务器上运行的那类命令。

验证者、RPC 节点,还是都不需要?

  • 验证者。对区块投票,需要完整的硬件规格、已充值的投票账户和持续的在线时间。
  • RPC 节点。为应用、机器人和索引器提供请求服务。它不投票,但仍需要类似的硬件,如果启用账户索引,还需要更多内存。
  • 轻量使用。如果你只发送少量交易或读取少量数据,付费 RPC 端点通常比运行节点更便宜。

购买前请查看 Solana 官方的验证者要求。它们发布在 Solana 和 Agave 文档中,并会随网络而变化。作为粗略参考,繁忙的 RPC 节点预计需要数百 GB 内存和数块高速 NVMe 硬盘。那属于独立服务器的范畴,而不是小型 VPS。我们的 Solana 节点托管页面列出了各种规格的选项。

步骤 1:准备服务器

使用 Ubuntu LTS,并执行如何保护新 VPS 中的步骤。创建一个专用用户;如果你有多块 NVMe 硬盘,请把账本和账户数据放在不同的硬盘上。

sudo adduser --disabled-password --gecos "" sol
sudo mkdir -p /mnt/ledger /mnt/accounts
sudo chown -R sol:sol /mnt/ledger /mnt/accounts

第 2 步:提高系统限制

Solana 会打开大量文件并使用大型内存映射。请将以下内容添加到 /etc/sysctl.d/21-solana.conf 以及你的 systemd 单元中:

vm.max_map_count=1000000
net.core.rmem_max=134217728
net.core.wmem_max=134217728

# in the systemd unit:
LimitNOFILE=1000000

使用 sudo sysctl --system 应用。

本指南的步骤依次为:1. 验证者、RPC 节点还是都不是?;2. 准备服务器;3. 提高系统限制;4. 启动 RPC 节点;5. 观察其追上进度;6. 防火墙
本指南的步骤,按顺序排列。

第 3 步:安装验证者软件

按照官方文档中的方法安装当前的 Agave 版本(Solana 验证者客户端),并进行验证。然后检查版本:

agave-validator --version
solana --version

第 4 步:启动 RPC 节点

这是非投票 RPC 节点启动命令的典型形式。请使用官方文档中适用于你所在集群的已知验证者和入口点。

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

请将占位符替换为文档中的值。--private-rpc 可防止 RPC 端口被广播到网络,你仍然应该用防火墙保持其关闭。

第 5 步:观察追赶进度

solana catchup --our-localhost
solana-validator --ledger /mnt/ledger monitor

从快照追赶需要几分钟到几小时。如果节点落后且始终无法恢复,原因通常是你的磁盘或网络。

防火墙

请允许文档中描述的 gossip 和 TPU 端口范围(默认范围为 8000 到 10000),并保持 RPC(8899 和 8900)私有。如果必须向其他机器提供 RPC 服务,请在前面放置带认证的反向代理。