Skip to content

Commit

Permalink
Docs: Requirements & Validator Initiatives & Setup a Solana Validator…
Browse files Browse the repository at this point in the history
… & Setup a Solana RPC Node
  • Loading branch information
XingqiWang committed Sep 7, 2024
1 parent d5ed5e4 commit 0f8eb7c
Show file tree
Hide file tree
Showing 4 changed files with 666 additions and 0 deletions.
94 changes: 94 additions & 0 deletions docs/SolanaValidatorDocumentation/operations/requirements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# Solana 验证者节点要求

## 最低SOL数量要求

在 Solana 上运行验证器没有严格的最低 SOL 数量要求。

然而,为了参与共识,需要一个投票账户,该账户需要有 0.02685864 SOL 的免租金储备。投票还需要为验证器同意的每个区块发送一次投票交易,花费每天可能高达 1.1 SOL。

## 硬件配置推荐

以下硬件推荐仅供参考。鼓励节点维护者自行进行性能测试。

- CPU
- 12核心 / 24线程,或更多
- 2.8GHz 基础时钟速率,或更快
- 支持 SHA 扩展指令
- AMD 第三代或更新版本
- Intel Ice Lake 或更新版本
- 支持 AVX2 指令(使用官方发布的二进制文件,否则需要自行编译)
- 支持 AVX512f 是更有帮助的
- 内存
- 256GB 或更多
- 建议使用纠错码 (ECC) 内存
- 建议使用支持 512GB 容量的主板
- 硬盘
- PCIe Gen3 x4 NVME SSD,或更好
- 账户: 500GB 或更大。高 TBW(总写入字节数)
- 账本: 1TB 或更大。建议高 TBW
- 操作系统: (可选)500GB 或更大。SATA 也可以
- 操作系统可以安装在存储账本的硬盘上,但测试显示账本在独立硬盘上性能更好
- 账户和账本可以存储在同一硬盘上,但由于高 IOPS(每秒输入输出操作),不推荐这样做
- Samsung 970 和 980 Pro 系列 SSD 在验证器社区中很受欢迎
- GPUs
- 目前不需要
- 验证者节点社区的维护者目前不使用 GPU

### RPC 节点配置推荐

如果验证器要用作 RPC 节点,上述硬件推荐应视为最低配置。为了功能全面和提高可靠性,应对配置做以下调整。

- CPU
- 16 核 / 32 线程,或更多
- 内存
- 如果使用`account-index`,内存应为 512GB 或更多
- 硬盘
- 如果需要查询更久的交易历史,考虑使用更大的账本硬盘
- 账户和账本数据不应存储在同一硬盘上

## 云平台上虚拟机的使用

虽然可以在云计算平台上运行验证器,但从长远来看,可能不具有成本效益。

然而,在虚拟机实例上运行非投票的 API 节点可能对内部使用更为方便。这种用例包括在 Solana 上构建的交易所和服务。

事实上,由团队运营的主网测试版验证器目前(截至 2021 年 3 月)运行在 GCE n2-standard-32(32 个 vCPU,128 GB 内存)实例上,并配有 2048 GB SSD以确保维护的便利性。

对于其他云平台,选择具有类似规格的实例类型。

还要注意的是,出口流量的消耗可能会很高,特别是在运行质押验证者节点的情况下。

## Docker

通常不推荐也不支持在 Docker 中运行用于实时集群(包括主网测试版)的验证者节点。这是由于一般 Docker 容器化开销和由此导致的性能下降问题,除非进行特殊配置。

我们仅将 Docker 用于开发目的。[solanalabs/solana](https://hub.docker.com/r/solanalabs/solana) 的 Docker Hub 上包含所有版本的镜像。

## 软件

- 我们在 Ubuntu 20.04 上进行构建和运行。

- 请参阅[安装 Solana CLI](https://docs.solanalabs.com/cli/install)以获取当前的 Solana 软件发布版本。

预构建的二进制文件可用于支持 AVX2 的 Linux x86_64 CPU(推荐使用 Ubuntu 20.04)。MacOS 或 WSL 用户可以从源代码构建。

## 网络

网络服务至少应为 1GBbit/s 对称的商业宽带,优选 10GBit/s。

### 端口转发

以下端口的入站和出站需要对外开放。

不推荐在 NAT 后运行验证者节点。选择这样做的节点维护者应能自行配置网络设备并调试任何穿透问题。

#### 必需端口

- 8000-10000 TCP/UDP - P2P 协议(gossip、turbine、repair 等)。可以使用 `--dynamic-port-range` 将此限制为任意13个空闲端口。

#### 可选端口

出于安全考虑,不建议在质押的主网测试版验证者节点上对互联网开放以下端口:

- 8899 TCP - 基于 HTTP 的 JSONRPC。可使用 `--rpc-port RPC_PORT` 更改。
- 8900 TCP - 基于 Websockets 的 JSONRPC。使用 `RPC_PORT + 1`
Loading

0 comments on commit 0f8eb7c

Please sign in to comment.