加密中的 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 节点询问getBlockRPC 方法。它知道收到此请求后该做什么,因为它正在运行 Solana 区块链的软件客户端。
实际上,没有人真正使用这样的直接 JSON-RPC 请求(尽管你当然可以!)。大多数开发人员更喜欢使用 RPC 客户端。最常用的是 Solana Web3 JS 库,可以在此处找到。要查找Solana 上可用的JSON RPC 方法的完整列表,请阅读我们的文档。
如何开始使用 RPC
RPC 极其重要 — 没有它们,您根本无法使用区块链。因此,有些公司专门致力于完善 RPC 体验。这些机器的使用率非常高,因此在高负载下保持良好性能至关重要。优秀的 RPC 提供商将可靠、具有一致的性能,并将向最终用户公开指标,以查看其随时间推移的使用模式。