
Solana RPC 的工作原理
加密领域中的 RPC 是什么?
在传统(web2)软件开发中,你通常通过 API 获取所需的数据。例如,你可能会使用 Stripe API 处理支付数据,使用 Twilio 处理短信数据,使用 Bloomberg 处理金融数据,使用 Plaid 处理银行数据,等等。
这里值得注意的是,你要查找的数据通常由中心化实体囤积或控制。
在加密领域,你需要的所有数据都在链上。它完全无需许可,任何人都可以查看和使用。那么该如何获取这些数据?答案是 RPC。
RPC 在技术上是远程过程调用(Remote Procedure Call)的缩写,但它也经常用作 RPC 节点(RPC Node)的简称。这些节点参与区块链网络,并公开可供开发者调用的方法(称为远程过程调用)。
RPC 在 Solana 上如何工作?
要让 Solana 正常运行,需要一个由多个节点组成的分布式网络来运行其软件客户端。
这些节点可分为两类:验证者和 RPC。
这两类节点有一个重要的共同点:它们都会持续监控区块链,并存储最新的数据(或状态)。
不过,它们之间存在一个关键区别。
验证者是参与投票(例如:“是的,这个区块有效”)和共识的节点。
RPC 是不参与投票的节点,但会处理使用链上数据的请求。
这种配置在 Ethereum 等其他区块链中并不常见,因为在这些区块链中,验证者节点和 RPC 节点通常是同一个节点。
当你发起 RPC 调用时,实际上是在调用某个区块链参与节点上的过程或函数。由于该节点参与网络运行,因此它知道最新数据是什么,并能根据请求将数据提供给你。
如何使用 Solana RPC
要从 Solana 区块链获取数据,你必须向参与网络的 RPC 节点发出 JSON-RPC 请求。
一个典型的 JSON-RPC 请求如下所示:
curl http://localhost:8899 -X POST -H "Content-Type: application/json" -d ' { "jsonrpc": "2.0","id":1,"method":"getBlock", "params": [430, { "encoding": "json", "maxSupportedTransactionVersion":0, "transactionDetails":"full", "rewards":false } ] }此请求要求位于 localhost:8899 的 RPC 节点执行 getBlock RPC 方法。该节点收到请求后知道该怎么做,因为它正在运行 Solana 区块链的软件客户端。
在实践中,几乎没人会像这样直接使用 JSON-RPC 请求(不过你当然可以!)。大多数开发者更喜欢使用 RPC 客户端。最常用的是 Solana Web3 JS 库,可在这里找到。要查看 Solana 上可用的 JSON RPC 方法完整列表,请阅读我们的文档。
如何开始使用 RPC
RPC 极其重要——没有它,你根本无法使用区块链。因此,一些公司专门致力于完善 RPC 体验。这些机器的使用负载非常高,因此在高负载下保持良好性能至关重要。优秀的 RPC 提供商应当可靠、性能稳定,并提供指标,让最终用户能够查看自己长期的使用模式。
在 Helius,我们是一支专注于 Solana 的工程师团队,并以为各类开发者提供最佳 RPC 体验为使命。
只需点击两次,即可从这里免费开始使用,无需电子邮件注册或信用卡。
本文旨在简要介绍 Solana RPC,并对新手保持友好。你可能已经了解其中不少内容。接下来,我们将讨论 RPC 优化、注意事项以及一些更高级的主题——感谢阅读!
相关文章
订阅 Helius
及时了解 Solana 开发的最新动态,并在我们发布新内容时收到更新


