什么是 Solana 节点?

news2025/2/26 17:57:51

什么是 Solana 节点?

验证交易和维护安全是任何项目进入权益证明领域时必须执行的强制性活动。如果没有节点运营商(验证器和 RPC 节点),Solana 网络就无法实现这些目标。

让我们看看这两种类型的节点有何区别。

共识验证者

  • 角色:共识验证者负责运行 Solana 网络。每个验证者执行特定任务,例如验证交易和跟踪账户。他们的贡献有助于确保区块链的安全性和完整性。
  • 费用:验证者每次投票都会产生交易成本。这些费用约为每天 1.0 SOL。值得注意的是,验证者的账户中必须始终有足够的 SOL 来支付这些费用。
  • 激励:验证者通过投票积分获得通胀奖励。成功对添加到区块链的区块进行投票将授予验证者投票积分。此外,当您的验证者担任领导者时,他/她可以为其生成并添加到区块链的每个区块赚取交易和存储租赁费

    RPC(远程过程调用)节点

  • 角色:RPC 节点是无投票权的验证者。它们充当用户(在本例中为开发人员)与 Solana 区块链之间的接口。这些节点响应与区块链相关的请求,允许用户提交交易以纳入区块。与 API 提供商一样,RPC 节点为开发人员提供对区块链数据的访问权限。
  • 费用和奖励:与验证器节点不同,运行 RPC 节点的 RPC 操作员不会获得奖励,因为该节点不参与投票。RPC 节点不收取任何费用。
    通过成为验证者,您可以为网络发展做出贡献,并加入致力于 Solana 生态系统的热情运营商社区。您选择运行验证者还是 RPC 节点取决于您的目标和技术背景。 如果您对自己的技术背景没有信心,或者硬件容量有限,那么质押是支持网络的最佳方式。了解如何通过验证者质押 Solana以赚取被动收入。

Solana 节点要求

共识验证者要求

最低 SOL 要求:

  • 没有严格的最低 SOL 量。
  • 投票账户的免租储备金为 0.02685864 SOL。
  • 投票交易每天的成本高达 1.1 SOL。

硬件建议:

中央处理器:

  • 至少 64 个核心/24 个线程。
  • 基本时钟速度为 2.8GHz 或更快。
  • SHA 扩展指令支持(AMD Gen 3 或更新版本、Intel Ice Lake 或更新版本)。
  • AVX2 指令支持(AVX512f 很有帮助)。

内存:

  • 至少 256GB(建议 ECC 内存)。
  • 主板容量为512GB(建议)。

磁盘:

  • PCIe Gen3 x4 NVME SSD 或更高。验证器常用的 SSD 选择包括三星 970 和 980 Pro 系列。
  • 账户:至少 500GB(建议使用高 TBW)。
  • Ledger:至少 1TB(建议使用高 TBW)。
  • 操作系统:可选 - 至少 500GB。操作系统可以安装在账本磁盘上,但账本在自己的磁盘上时性能会更好。由于 IOPS 较高,不建议将账户和账本存储在同一磁盘上。

RPC 节点建议

中央处理器:

  • 至少 16 个核心/32 个线程。

内存:

  • 如果使用帐户索引,则至少需要 512GB 或更多。

磁盘:

  • 如果交易历史较长,请考虑使用更大的分类账磁盘。
  • 账户和分类账不应该存储在同一磁盘上。

云平台上虚拟机的注意事项:

从长远来看,在云计算平台上运行验证器可能并不划算。非投票 API 节点可以在 VM 实例上运行以供内部使用。

码头工人:

不建议在 Docker 内部运行实时集群验证器,通常也不支持。Docker 仅用于开发目的。

软件:

  • 在 Ubuntu 20.04 上构建并运行。
  • 预构建的二进制文件可用于支持 AVX2 的 Linux x86_64。
  • MacOS 或 WSL 用户可以从源代码构建。

联网:

  • 互联网服务应至少达到 1GBit/s 对称速度,最好为 10GBit/s。

端口转发要求:

  • 8000-10000 TCP/UDP 用于 P2P 协议(​​gossip、turbine、repair 等)。
  • 动态端口范围(任何免费的 13 个端口范围)。

端口转发建议:

  • 8899 TCP 用于通过 HTTP 进行的 JSONRPC(可以使用 --rpc-port 进行更改)。
  • 8900 TCP 用于通过 Websockets 进行 JSONRPC(派生,使用 RPC_PORT + 1)。

如何在 Linux 上设置 Solana 节点

如何设置 Solana 验证器

  1. 在您信任的计算机上打开终端程序。

2.使用以下方法之一在本地安装 Solana CLI:

  • 使用Solana 文档中的Solana 安装工具。
  • 从源代码构建更安全、性能更佳的可执行文件。

通过运行以下命令来验证安装:

solana --version

您应该会看到显示的 CLI 版本。

  • 配置 Solana CLI 以向测试网集群发出请求:

solana config set --url https://api.testnet.solana.com

验证配置:

solana config get

确保 RPC URL 设置为“ https://api.testnet.solana.com ”。

3.在本地计算机上创建三个密钥对:

solana-keygen new -o validator-keypair.json

solana-keygen new -o vote-account-keypair.json

solana-keygen new -o authorized-withdrawer-keypair.json

注意:authorized-withdrawer-keypair.json 包含敏感信息,应安全存储。

4.创建投票账户:

solana config set --keypair ./validator-keypair.json

solana balance  (查看账户余额)

solana airdrop 1  (将 SOL 存入账户)

现在使用以下命令创建一个投票账户:

solana create-vote-account -ut \

--fee-payer ./validator-keypair.json \

./vote-account-keypair.json \

./validator-keypair.json \

./authorized-withdrawer-keypair.json

5.安全存储authorized-withdrawer-keypair.json文件。

6.通过 SSH 进入你的验证服务器:

ssh user@<server.hostname>

7.更新你的 Ubuntu 软件包:

sudo apt updatesudo apt install

8.创建一个新的 Ubuntu 用户来运行验证器:

sudo adduser sol

9.设置分类账和账户数据库的硬盘:

  • 格式化并安装分类帐驱动器:

sudo mkfs -t ext4 /dev/nvme0n1

lsblk -f  (检查 UUID)

sudo mkdir -p /mnt/ledger

sudo chown -R sol:sol /mnt/ledger

sudo mount /dev/nvme0n1 /mnt/ledger

  • 格式化并安装账户数据库驱动器(与上述步骤类似)。

10. Linux 系统调优

  • 优化 sysctl 旋钮:

sudo bash -c "cat >/etc/sysctl.d/21-solana-validator.conf <<EOF

net.core.rmem_default = 134217728

net.core.rmem_max = 134217728

net.core.wmem_default = 134217728

net.core.wmem_max = 134217728

vm.max_map_count = 1000000

fs.nr_open = 1000000

EOF"

sudo sysctl -p /etc/sysctl.d/21-solana-validator.conf

  • 增加 systemd 和会话文件限制:

对于 systemd 服务文件:

添加LimitNOFILE=1000000到 systemd 服务文件的 [Service] 部分。

如果不使用 systemd 服务文件:

添加DefaultLimitNOFILE=1000000部分。[Manager]/etc/systemd/system.conf

EOF"sudo systemctl daemon-reload

  • 设置进程文件描述符数量限制:

sudo bash -c "cat >etc/security/limits.d/90-solana-nofiles.conf <<EOF

# Increase process file descriptor count limit

* - nofile 1000000 EOF"

  • 关闭所有打开的会话并重新登录。

11.复制密钥对:

scp validator-keypair.json sol@<server.hostname>:

scp vote-account-keypair.json sol@<server.hostname>:

12.切换到sol用户:

su - sol

13.在远程机器上安装 Solana CLI:

  • 安装 Solana CLI(参考 Solana 的安装工具或从源代码构建)。

创建验证器启动脚本:

mkdir -p /home/sol/bin

touch /home/sol/bin/validator.sh

chmod +x /home/sol/bin/validator.sh

nano /home/sol/bin/validator.sh

将以下内容粘贴到validator.sh中:

#!/bin/bash exec solana-validator \

--identity validator-keypair.json \

--vote-account vote-account-keypair.json \

--known-validator 5D1fNXzvv5NjV1ysLjirC4WY92RNsVH18vjmcszZd8on \

--known-validator 7XSY3MrYnK8vq693Rju17bbPkCN3Z7KvvfvJx4kdrsSY \

--known-validator Ft5fbkqNa76vnsjYNwjDZUXoTWpP7VYm3mtsaQckQADN \

--known-validator 9QxCLckBiJc783jnMvXZubK4wH86Eqqvashtrwvcsgkv \

--only-known-rpc \

--log /home/sol/solana-validator.log \

--ledger /mnt/ledger \

--rpc-port 8899 \

--dynamic-port-range 8000-8020 \

--entrypoint entrypoint.testnet.solana.com:8001 \

--entrypoint entrypoint2.testnet.solana.com:8001 \

--entrypoint entrypoint3.testnet.solana.com:8001 \

--expected-genesis-hash 4uhcVJyU9pJkvQyS88uRDiswHXSCkY3zQawwpjk2NsNY \

--wal-recovery-mode skip_any_corrupted_record \

--limit-ledger-size

  • 保存文件。

14.验证你的验证器是否正常工作

执行validator.sh脚本:/home/sol/bin/validator.sh

在新的终端窗口中,通过 ssh 进入您的服务器,然后验证该进程是否正在运行:ps aux | grep solana-validator

跟踪日志:su - sol tail -f /home/sol/solana-validator.log

Gossip 协议:通过 ssh 连接到你的服务器并识别你的验证者的公钥:

solana-keygen pubkey ~/validator-keypair.json

检查你的验证者是否已在八卦网络中注册:

solana gossip | grep <pubkey>

Solana 验证者:检查您的验证者是否已加入网络:

solana validators | grep <pubkey>

Solana Catchup:检查验证者的追赶状态:

solana catchup <pubkey>

15.创建系统服务

按照说明将验证器作为系统服务运行。配置完成后,使用新创建的服务启动验证器:

sudo systemctl enable --now sol

跟踪日志以确保验证器正常运行,并使用提到的命令检查 gossip 和 Solana 验证器:

tail -f /home/sol/solana-validator*.log

就这样!您已成功设置 Solana 验证器。请记住参考 Solana 文档以获取有关每个命令和其他最佳实践的更多详细信息。

如何设置 RPC 节点

要在 Solana 上设置 RPC 节点,您将执行与验证器部署类似的步骤。但是,由于 RPC 节点不会对区块有效性进行投票,因此您可以跳过“创建投票账户”部分。

查看Solana 文档中有关设置 RPC 节点的其他信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1823733.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GenICam标准(三)

系列文章目录 GenICam标准&#xff08;一&#xff09; GenICam标准&#xff08;二&#xff09; GenICam标准&#xff08;三&#xff09; 文章目录 系列文章目录6、缓存7、识别并判断相机描述文件的版本7.1. 格式的版本7.2. 相机描述文件的版本7.3. 识别并缓存相机描述文件 参考…

2024年6月14日 (周五) 叶子游戏新闻

期刊杂志: 聚合读者、意林、知音、故事会、花火以及国内各大知名报纸电子版&#xff0c;无需付费即可观看各种免费资源 WPS免登录一键修改器: 去除烦人的登录且能正常使用 EA招募退伍军人重塑下一代《战地》游戏EA正通过“雇用我们的英雄”计划&#xff08;HOH&#xff09;雇用…

OpenAI函数调用:使用Assistants API函数工具的一个示例

Are you looking to expand GPTs capabilities? Check out this tutorial for a complete example of an AI Assistant that can send emails whenever we ask it to. 您是否希望扩展GPT的功能&#xff1f;查看这个教程&#xff0c;它提供了一个完整的示例&#xff0c;展示了…

多模态革新:Ferret-v2在高分辨率图像理解与细粒度交互的突破

在多模态大模型&#xff08;MLLMs&#xff09;的研究中&#xff0c;如何将视觉理解能力与语言模型相结合&#xff0c;以实现更精细的区域描述和推理&#xff0c;是一个重要的研究方向。先前的工作如Ferret模型&#xff0c;通过整合区域理解能力&#xff0c;提升了模型在对话中的…

开源大模型的新星:ChatGPT-Next-Web 项目解析与推荐

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

蓝卓为中小制造企业注入数字化转型活力

随着劳动力成本上升,原材料价格上涨,企业生产成本逐年增加&#xff0c;市场竞争越来越激烈&#xff0c;传统的中小制造企业面临着巨大的压力。 通过数字化转型应对环境的变化已成为行业共识&#xff0c;在数字化的进程中&#xff0c;中小企业首要考虑生存问题&#xff0c;不能…

Sklearn中逻辑回归建模

分类模型的评估 回归模型的评估方法&#xff0c;主要有均方误差MSE&#xff0c;R方得分等指标&#xff0c;在分类模型中&#xff0c;我们主要应用的是准确率这个评估指标&#xff0c;除此之外&#xff0c;常用的二分类模型的模型评估指标还有召回率&#xff08;Recall&#xff…

串口屏介绍

一、串口屏简介 串口屏&#xff08;Serial LCD/Serial TFT Display&#xff09;是一种集成了串行通讯功能的显示屏&#xff0c;广泛应用于各种嵌入式系统、工业控制、人机界面&#xff08;HMI&#xff09;等领域。该显示屏通过串口&#xff08;如UART、RS232、RS485等&#xf…

记录一下PHP使用微信小程序支付

记录一下PHP使用微信小程序支付V3版本经历 官方文档&#xff1a;https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_8_0.shtml 请详细查看文档中小程序支付接入前准备&#xff08;https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_8_1.shtml&#xff…

计算机系统的主要概念

这篇文章通过研究“hello&#xff0c;world”这个简单程序的生命周期来介绍计算机系统的主要概念。 1. 信息就是位 上下文 我们以 hello 程序为例&#xff0c;在 linux 系统中&#xff0c;我们编辑文本文件 hello.c&#xff0c;使用编译器将其编译成可执行的 源程序&#xf…

618有什么值得推荐?2024数码产品推荐,轻松拿捏选购!

随着618购物节即将来临&#xff0c;你是否已被琳琅满目的商品所吸引&#xff0c;难以抉择&#xff1f;团团特意为你筛选出一系列经过亲身试验的优质好物&#xff0c;旨在帮助你在这场购物盛宴中迅速锁定心仪之选。这些推荐不仅走在时尚的前沿&#xff0c;更能满足你日常生活的各…

任务3.8.2 利用RDD计算总分与平均分

实战&#xff1a;使用RDD 计算学生成绩的总分与平均分 项目背景 本项目旨在利用 Apache Spark 的强大数据处理能力&#xff0c;对存储在 HDFS 上的学生成绩文件进行处理&#xff0c;计算每个学生的总分和平均分。 项目目标 读取存储在 HDFS 上的成绩文件。计算每个学生的总…

波卡近期活动一览| Polkadot Decoded 2024 重磅来袭,300 万 DOT 将用于 DeFi 增长

Polkadot 生态近期活动精彩纷呈&#xff0c;线上线下火热进行中&#xff01;此外&#xff0c;Polkadot 2.0 的关键升级即将到来&#xff0c;Gavin Wood 博士也将在最新访谈节目中分享更多关于波卡的未来发展蓝图。波卡 DAO 通过提案&#xff0c;分配 300 万 DOT 支持 DeFi 生态…

双向转发检测BFD(学习笔记)

定义 双向转发检测BFD&#xff08;Bidirectional Forwarding Detection&#xff09;是一种全网统一的检测机制&#xff0c;用于快速检测、监控网络中链路或者IP路由的转发连通状况 BFD检测机制 BFD的检测机制是两个系统建立BFD会话&#xff0c;并沿它们之间的路径周期性发送B…

企业如何抓住“AI+出海”新机遇?2024光亚展现场,全屋智能出海AI营销第一课行业大咖齐聚点拨

2024年6月9日至12日&#xff0c;第29届广州国际照明展览会&#xff08;光亚展&#xff09;于在中国进出口商品交易会展馆举办。连同同期举行的第21届广州国际建筑电气技术展览会&#xff08;GEBT&#xff09;&#xff0c;雄据广州中国进出口商品交易会展馆A及B区的26个展馆&…

技术速递|介绍 .NET API 文档的源代码链接

作者&#xff1a;Min Huang&#xff0c;Matt Trilby-Bassett 排版&#xff1a;Alan Wang 开发人员在阅读 API 参考文档时&#xff0c;有时会需要或希望查看相应的源代码。直到不久之前&#xff0c;.NET API 参考文档还没有提供指向源代码的链接&#xff0c;这引起社区添加这一功…

【Python】Numpy的使用

文章目录 数组创建数组属性ndarray数组索引ndarray数组的基本索引和切片ndarray数组的布尔索引ndarray数组的花式索引 ndarray数组的转置和轴对换ndarray通用函数一元ufunc二元ufunc NumPy的where函数使用常用统计函数排序 ndarray数组的去重以及集合运算numpy中的线性代数nump…

优思学院|如何选择六西格玛黑带的项目?

不管六西格玛的实施着重于变革式的还是渐进式的目标&#xff0c;项目都是六西格玛最核心的部分。选择和使用组织中最好的人才本身并不一定能保证达到最好的结果&#xff0c;项目的选取是领导层无可推卸的责任。选择一个项目意味着什么&#xff1f;领导团队必须将无数的问题、困…

DAC测试实验——FPGA学习比

一、DAC简介 DAC全称Digital to Analog Converter&#xff0c;即数模转换器。它用于将主控芯片产生的数字值(0和1)转换为模拟值(电压值)。 1、DAC参数指标 2、DAC类型 常用的DAC可大致分为权电阻网络DAC、T型电阻网络DAC、倒T型电阻网络DAC以及权电流型DAC。 3、AD9708/3PD9…

html中a标签的多用性

在HTML中&#xff0c;<a> 标签&#xff08;通常称为锚标签或链接标签&#xff09;具有多种用途和强大的功能。以下是<a>标签的一些主要多用性&#xff1a; 网页间的导航&#xff1a; 这是<a>标签最常见的用途。通过href属性&#xff0c;可以指定一个URL&am…