概述: RPC 请求是应用程序通往 Solana 集群的网关。这些请求由专门的 RPC 节点提供服务,这些节点通常专注于此任务而不参与共识。然而,从应用程序用户的角度来看,RPC 性能不佳与集群性能不佳没有区别。为了给用户提供出色的体验并展示 Solana 的速度和低延迟特性,拥有能够胜任任务的 RPC 基础设施至关重要。
开发: 鼓励开发者在开发过程中使用本地集群,特别是在早期阶段和测试期间。本地集群比公共服务更灵活,可以自由运行未优化的早期迭代版本。运行本地集群最简单的方法是使用 solana-test-validator 二进制文件,该文件包含在 Solana CLI 工具套件中。一旦应用程序达到稳定状态,部署到公共集群就变得更加合适。
与所有代码优化任务一样,在 RPC 请求方面,少即是多。避免对相同数据进行频繁、重复的调用。避免构建直接进行 RPC 请求的客户端。"无后端 dApp"是一个神话;您只是在不断冲击他人的基础设施。以应用程序优化的方式缓存昂贵的调用(特别是 getProgramAccount、getSignaturesForAddress2 和 getConfirmedBlock),并从缓存中为用户提供服务。在上线前花时间优化代码可以让您避免大量因用户体验不佳而产生的困扰,并能显著降低基础设施支出。
多家提供商为公共 Solana 集群提供免费 RPC 访问。这些服务适用于真实环境测试、早期演示和小型私有 beta 计划。请记住,您得到的正是您所支付的。免费服务通常不会自动扩展,有速率限制,不提供 SLA,并且不怕封禁滥用者。当应用程序准备向公众开放时,就该投资私有 RPC 访问了。
一些免费 RPC 提供商:
测试网
开发网
主网 Beta
由于不同应用程序的 RPC 需求存在差异,通用的公共 RPC 基础设施很少能满足要求。为了确保用户获得良好的体验,面向公众的应用程序需要确保自己的私有 RPC 访问。这将允许您根据用户需求自动扩展,根据应用程序放宽速率限制,并且放心其他应用程序的用户不会挤占您的资源。多家组织提供高可用性、按需 RPC 服务;请参见下文。如果这些提供商都不合适,而您又有能力运行自己的 RPC 服务,请联系 Solana 基金会寻求指导。