Solana RPC 的工作原理

Crypto 中的 RPC 是什么?

在传统 (web2) 软件开发中,您通常使用 API 来获取所需的数据。您可以使用 Stripe API 来处理支付数据、使用 Twilio 来处理短信数据、使用 Bloomberg 来处理财务数据、使用 Plaid 来处理银行数据等等。

这里要注意的有趣的事情是,您正在寻找的数据通常被集中实体储存或控制。

在加密领域,您需要的所有数据都在链上。它完全无需许可,任何人都可以查看和使用。那么如何检索它呢?使用 RPC。

RPC(技术上代表远程过程调用)通常被用作 RPC 节点的简称。这些节点参与区块链网络并公开开发人员可以调用的方法(称为远程过程调用)。

RPC 在 Solana 上如何工作?

为了使 Solana 正常运行,它需要一个运行其软件客户端的分布式节点网络。

这些节点可以分为两种类型:验证器(Validators)和 RPC。

这两个节点都有一个重要的共同点:它们都持续监视区块链并存储其最新数据(或状态)。

然而,它们之间存在一个关键的区别。

验证者是投票(例如:“是的,这个区块有效”)并参与共识的节点。

RPC 是不会投票的节点 — — 但会处理处理链上数据的请求。请注意,这种配置在其他区块链中并不常见,例如以太坊,其中验证器和 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 库。

如何开始使用 RPC?

RPC 极其重要 — 没有它们,您根本无法使用区块链。因此,有些公司专门致力于完善 RPC 体验。这些机器的使用率非常高,在高负载下表现良好至关重要。优秀的 RPC 提供商将可靠、具有一致的性能,并将向最终用户公开指标以查看他们随时间推移的使用模式。在 Helius,我们是 Solana 原生工程师,我们的使命是为各种开发人员提供最佳的 RPC 体验。您可以免费开始使用,无需电子邮件注册或信用卡,只需在此处单击两次即可。这旨在成为 Solana RPC 的一个非常简短且适合初学者的介绍。

如有不明白或者不清楚的地方,请加入官方电报群:https://t.me/gtokentool

最后更新于