
关于 Solana RPC,你需要知道的一切(2023)
简介
RPC 是去中心化应用与区块链网络交互的关键组成部分。任何想在这个快速发展的领域探索的人,都必须了解 RPC。无论你关注的是 Solana 还是其他区块链平台,本指南都将帮助你掌握 RPC 在传统环境和区块链环境中的作用。
RPC 的含义:RPC 是什么的缩写?
在加密领域,你需要的所有数据都在链上。这些数据完全无需许可,任何人都可以查看和使用。那么,该如何获取它们?通过 RPC。
从技术上讲,RPC 代表远程过程调用(Remote Procedure Calls),但它也经常作为 RPC 节点的简称。这些节点参与区块链网络,并提供开发者可以调用的方法,也就是远程过程调用。
RPC 与 API
在传统(web2)软件开发中,你通常会通过 API 获取所需数据。例如,你可能会使用 Stripe API 处理支付数据,使用 Twilio 处理短信数据,使用 Bloomberg 获取金融数据,使用 Plaid 获取银行数据,等等。
这里值得注意的是,你要查找的数据通常被中心化实体垄断或控制。
这正是 RPC 发挥作用的地方。它们无需外部提供商,就能高效地向你提供无需许可的数据。这些数据通过调用账本直接获取。
传统 RPC 与区块链及加密 RPC
在传统环境和区块链环境中,RPC 都是获取数据的一种方式,但两者的相似之处通常仅限于此。传统 RPC 通过多种协议运行,并与中心化数据库交互,因此必须信任单一实体来保证数据完整性。相比之下,区块链 RPC 通常使用基于 HTTP 的 JSON-RPC,从去中心化网络提取数据,并通过多个节点验证数据来提供更高的安全性。传统 RPC 可能会限制数据访问,而区块链 RPC 通常会提供开放的公共数据。此外,区块链 RPC,尤其是 Solana 等网络中的 RPC,针对速度和吞吐量进行了优化,以满足去中心化应用的实时需求。了解这些关键区别,可以帮助你更好地在区块链生态中使用 RPC。
Solana RPC
Solana 主网 RPC
要从 Solana 区块链的 Mainnet Beta 集群获取数据,你必须向参与该网络的 RPC 节点发送 JSON-RPC 请求。
典型的 JSON-RPC 请求可能如下所示:
curl -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 } ] }该请求向 https://api.mainnet-beta.solana.com 上的 RPC 节点调用 getBlock RPC 方法。该节点运行着 Solana 区块链的软件客户端,因此收到请求后知道该如何处理。
在实际开发中,几乎没有人会直接使用这样的 JSON-RPC 请求(当然,你完全可以这么做!)。大多数开发者更愿意使用 RPC 客户端。最常用的是 Solana Web3 JS 库,可以在这里找到。要查看 Solana 支持的完整 JSON RPC 方法列表,请参阅官方文档。
Solana Devnet RPC
你也可以使用 Devnet RPC 访问 Solana 的 Devnet 集群。Solana 提供了一个用于测试的 RPC,可通过 https://api.devnet.solana.com 访问。
此时,我们的 RPC 请求如下所示:
curl [<https://api.devnet.solana.com>](<https://api.devnet.solana.com/>) -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 } ] }唯一变化的是请求所针对的集群。如果我们查询的账户在 Devnet 上没有交易或相关信息,可能还需要更换账户。这是因为 Devnet 集群并不共享 Mainnet Beta 的历史记录。
Ethereum RPC 与 Solana RPC
为了让 Solana 正常运行,需要一个由多个节点组成的分布式网络来运行其软件客户端。
这些节点可以分为两类:验证者节点和 RPC 节点。
这两类节点有一个重要的共同点:它们都会持续监控区块链,并存储其最新数据(或状态)。
不过,它们之间存在一个关键区别。
验证者节点会投票(例如:“是的,这个区块有效”)并参与共识。
RPC 节点不投票,而是处理与链上数据交互的请求。请注意,这种配置在 Ethereum 等其他区块链中并不常见,因为在这些区块链中,验证者节点和 RPC 节点通常是同一个节点。
发起 RPC 调用时,你是在调用某个区块链参与节点上的过程或函数。由于该节点参与网络,因此它知道最新数据,并可以根据请求将数据提供给你。
Helius:Solana RPC 公司
Helius 提供高端 RPC 访问服务,为 Solana 开发者带来诸多优势。
Helius RPC 采用顶级硬件,确保你的应用始终以最佳状态可靠运行,无需担心意外问题。我们以提供生态中最出色的全天候开发者支持而自豪。当你的系统遇到意外问题,或你对即将推出的功能有疑问时,我们会立即提供帮助。
Solana RPC:如何开始使用 Helius
RPC 至关重要——没有它,你根本无法与区块链交互。因此,一些公司专注于不断优化 RPC 体验。这些机器的使用负载非常高,所以在高负载下保持出色性能至关重要。优秀的 RPC 提供商应当可靠、性能稳定,并提供指标,让最终用户可以查看自己长期的使用模式。
Helius 团队由深耕 Solana 的工程师组成。我们的使命是为各种开发者提供尽可能出色的 RPC 体验。只需点击两次,无需使用电子邮件注册,也无需信用卡,即可免费开始使用。
本文旨在为初学者简要介绍 Solana RPC。你可能已经了解其中不少内容。接下来,我们将讨论 RPC 优化、注意事项和一些更高级的主题——感谢阅读!
相关文章
订阅 Helius
及时了解 Solana 开发的最新动态,并在我们发布新内容时收到更新


