Solana RPC 的工作原理

加密货币中的 RPC 是什么? 在传统 (web2) 软件开发中,您通常通过使用 API 来获取所需的数据。您可以使用 Stripe API 处理支付数据、Twilio 处理 SMS 数据、Bloomberg 处理财务数据、Plaid 处理银行数据等。 

Solana RPC 的工作原理

加密货币中的 RPC 是什么?

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

这里需要注意的有趣的事情是,您正在寻找的数据通常是由中心化实体囤积或控制的。 

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

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

RPC 在 Solana 上如何工作?

为了让 Solana 发挥作用,它需要一个运行其软件客户端的分布式节点网络。 

这些节点可以分为两种类型:验证器和 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 库,可以在此处找到。要查找 Solana 上可用的 JSON RPC 方法的完整列表,请查看官方文档

如何开始使用 RPC?

RPC 非常重要——没有它们,你实际上就无法使用区块链。因此,出现了专门致力于完善 RPC 体验的公司。这些机器的利用率非常高,因此在高负载下保持良好性能至关重要。一个好的 RPC 提供商应该是可靠的,具有一致的性能,并且会向最终用户公开指标,以查看他们随时间变化的使用模式。在 Helius,我们是 Solana 原生工程师,我们的使命是提供最好的 RPC各种开发人员的经验。您只需点击两次即可免费开始使用,无需电子邮件注册或信用卡。这是对 Solana RPC 的非常简短且适合初学者的介绍。您可能已经了解了大量此类信息。接下来,我们将讨论 RPC 优化、注意事项和一些更高级的主题 — 感谢您的阅读!

💡
原文链接:How Solana RPCs Work
本文由SlerfTools翻译,转载请注明出处。

SlerfTools专为Solana设计的工具箱,致力于简化区块链操作,提供无编程全可视化界面,使发币管理流动性无代码创建Dapp等复杂过程变得安全简单。