Logo
新用户订阅 RPC,首月享 6.5 折优惠查看优惠
RPC Assistant

PublicNode Solana RPC 端点:如何连接及预期

摘要

PublicNode 为希望在不投入付费基础设施的情况下测试应用的开发者提供免费的 Solana RPC 端点。本文介绍如何查找和使用 PublicNode Solana RPC 端点、预期的速率限制和可靠性,以及何时为生产工作负载迁移到像 OnFinality 这样的托管或专用 RPC 提供商。

PublicNode 是一项免费的 RPC 服务,为包括 Solana 在内的多个区块链网络提供公共端点。开发者经常搜索确切的端点 URL、如何配置他们的钱包或 dApp,以及免费服务附带哪些限制。

本文为您提供实用细节:如何连接到 PublicNode Solana RPC 端点、在速率限制和可靠性方面预期如何,以及何时应考虑使用像 OnFinality 这样的托管 RPC 提供商用于生产工作负载。

快速决策:何时使用 PublicNode 与托管提供商

在深入端点细节之前,这里有一个快速框架,帮助您决定哪种 RPC 路线适合您的阶段:

  • 原型和黑客松:PublicNode 的免费端点适用于快速实验、小型脚本和学习 Solana 开发。您无需创建账户即可开始。
  • 构建生产级 dApp:如果您的应用服务真实用户,您需要一致的性能、更高的速率限制和支持。像 OnFinality 这样的托管 RPC 提供商提供专用节点和可扩展的 API 访问。
  • 运行验证者或高频机器人:您可能需要具有低延迟且无共享速率限制的专用节点。PublicNode 的免费层并非为此设计。

如果您仍在评估,请查看 Solana RPC 提供商比较 以获得更广泛的视角。

什么是 PublicNode?

PublicNode 是一个社区驱动的 RPC 提供商,为多个网络提供免费的公共端点。它通常被那些希望无需运行自己的节点即可与区块链交互的开发者使用。

对于 Solana,PublicNode 提供 HTTP 端点和 WebSocket 端点。这些端点在所有用户之间共享,这意味着它们带有速率限制且没有正常运行时间保证。

PublicNode Solana RPC 端点详情

PublicNode 的 Solana RPC 端点是:

https://rpc.publicnode.com

这是 JSON-RPC 请求的基础 URL。您可以将其与任何 Solana RPC 客户端一起使用,例如 @solana/web3.js

以下是使用 curl 的简单 getVersion 请求示例:

curl https://rpc.publicnode.com \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"getVersion"}'

预期响应:

{"jsonrpc":"2.0","result":{"feature-set":2891141728,"solana-core":"1.18.22"},"id":1}

请注意,PublicNode 可能会随时间更改其端点 URL 或添加身份验证要求。始终查看官方 PublicNode 文档以获取最新端点。

将 Solana dApp 连接到 PublicNode

如果您使用 @solana/web3.js,您可以使用 PublicNode 端点创建 Connection 对象:

import { Connection } from '@solana/web3.js';

const connection = new Connection('https://rpc.publicnode.com', 'confirmed');

// 示例:获取最新区块哈希
const blockhash = await connection.getLatestBlockhash();
console.log(blockhash);

对于 WebSocket 订阅(例如,账户更改),您需要 WebSocket URL,PublicNode 也提供该 URL。但是,免费端点通常限制 WebSocket 使用或需要单独连接。

速率限制和可靠性:预期什么

PublicNode 是一项免费服务,因此存在限制:

  • 速率限制:PublicNode 施加速率限制以防止滥用。确切限制并不总是公布,并且可能更改。如果超过限制,您可能会收到 HTTP 429 错误。
  • 正常运行时间:没有 SLA。服务可能因维护而停机或经历中断。
  • 数据保留:PublicNode 可能不提供完整的归档数据。Solana 的 getTransaction 及类似方法可能仅返回近期数据。
  • 无支持:如果您遇到问题,您依赖社区论坛或 Discord。

这些限制使 PublicNode 适用于开发和测试,但对于生产应用来说风险较大,因为停机或速率限制会直接影响用户。

何时迁移到托管 RPC 提供商

随着项目的发展,您可能需要:

  • 更高的速率限制:托管提供商提供分层计划,具有更高的每秒请求数(RPS)配额。
  • 专用节点:为了获得一致的性能,您可以获得不与其他用户共享的专用 Solana 节点。
  • 归档数据:如果您的应用需要历史交易数据,您需要归档节点。PublicNode 可能不提供。
  • WebSocket 支持:对于实时更新,可靠的 WebSocket 连接至关重要。
  • 支持和 SLA:托管提供商提供支持和正常运行时间保证。

OnFinality 提供托管 Solana RPC 端点,支持 HTTP 和 WebSocket。您可以从免费层开始,并根据需要扩展到专用节点。有关详细信息,请参阅 RPC 定价

比较 PublicNode 和 OnFinality 的 Solana 服务

下表总结了主要差异:

功能PublicNodeOnFinality
成本免费免费层和付费计划
速率限制共享,有限可配置,更高限制
正常运行时间 SLA付费计划可用
归档数据不保证可按需提供
WebSocket是,但有限是,专用 WebSocket URL
支持社区专门支持
专用节点

OnFinality 还提供 Solana Devnet 端点 用于测试,这对开发很有用。

使用 PublicNode Solana 的常见问题排查

如果您遇到 PublicNode 端点的问题,以下是常见问题和修复方法:

  • HTTP 429 请求过多:您被限流了。降低请求频率或切换到付费提供商。
  • 连接超时:免费端点可能过载。使用指数退避重试。
  • 数据缺失:如果您需要历史交易,请使用归档提供商。
  • WebSocket 断开:免费 WebSocket 端点可能断开连接。实现重连逻辑。

以下是 JavaScript 中的简单重试逻辑示例:

async function rpcCall(method, params) {
  const response = await fetch('https://rpc.publicnode.com', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ jsonrpc: '2.0', id: 1, method, params })
  });
  if (response.status === 429) {
    await new Promise(resolve => setTimeout(resolve, 1000));
    return rpcCall(method, params);
  }
  return response.json();
}

关键要点

  • PublicNode 在 https://rpc.publicnode.com 提供免费的 Solana RPC 端点。
  • 它适用于开发和测试,但由于速率限制和缺乏 SLA,不适合生产环境。
  • 对于生产应用,请考虑像 OnFinality 这样的托管 RPC 提供商,它提供可扩展且可靠的基础设施。
  • 始终查看官方 PublicNode 文档以获取最新端点和限制。

常见问题解答

PublicNode Solana RPC 是免费的吗?

是的,PublicNode 为 Solana 和其他网络提供免费的公共 RPC 端点。

PublicNode Solana 的速率限制是多少?

PublicNode 不公布确切的速率限制。它们可能会更改,并在所有用户之间共享。

我可以将 PublicNode 用于生产 dApp 吗?

不建议,因为缺乏 SLA、速率限制和潜在的停机。像 OnFinality 这样的托管提供商更适合生产环境。

PublicNode 支持 WebSocket 吗?

是的,PublicNode 提供 WebSocket 端点,但可能有额外限制。

如何获得专用的 Solana RPC 端点?

您可以从 OnFinality 获得专用的 Solana 节点。访问 Solana 网络页面 了解更多信息。

RPC 知识库

相关 RPC 内容

网络 RPCAvalanche

Sora 项目和 Sora 网络:开发者需要了解什么?

Sora 是一个基于 Substrate 的去中心化金融网络,旨在通过受监管的金融框架连接法币和加密货币。本文介绍了 Sora 项目、其 SORA 网络架构,以及如何通过 RPC 端点进行开发访问。...

RPC 故障排查

区块链交易中的nonce是什么?

区块链nonce是一个用于排序交易、防止重放攻击以及在某些区块生产系统中证明工作量的数字。在以太坊等基于账户的链上,每次账户发送交易时交易nonce都会递增,这使得网络能够按预期顺序处理交易。 如果应用通过RPC端点发送大量交易,nonce处理就成为生产可靠性的组成部分。OnFinality帮助团队...

网络 RPCpeaq

什么是 peaq 网络 RPC?如何连接?

peaq 网络 RPC 是您的应用程序与 peaq 区块链之间的 API 网关,peaq 是一个兼容 EVM 的 Layer-1,专为 DePIN 和机器经济而设计。本参考涵盖链 ID 3338、PEAQ 代币详情、公共端点、JSON-RPC 测试以及生产前需要关注的提供商标准。 公共 peaq R...

网络 RPCSui

Sui 主网 RPC:如何连接及注意事项

了解如何连接 Sui 主网 RPC 端点,理解 JSON-RPC 方法,并评估生产应用的基础设施选项。本指南涵盖链设置、请求示例以及选择公共节点和专用节点的关键考虑因素。...

网络 RPCEfinity

Sonic RPC 节点:如何连接 Sonic 主网

Sonic 是一个兼容 EVM 的第 1 层区块链,专为高吞吐量的 DeFi 应用而设计。要与 Sonic 交互,开发者需要一个可靠的 RPC 节点来处理 JSON-RPC 请求、WebSocket 订阅和归档数据查询。 本页介绍如何配置您的钱包或 dApp 以使用 Sonic RPC 端点,RPC...

测试网 RPCBitcoin

什么是比特币测试网 RPC,如何使用它?

比特币测试网 RPC 端点允许开发者连接到比特币测试网络,在不冒真实资金风险的情况下进行开发和测试。本文解释了什么是比特币测试网 RPC,如何选择端点,以及如何发起你的第一个 JSON-RPC 调用。...

永远不用担心基础设施

OnFinality 消除了 DevOps 的繁重工作,让您能够更聪明、更快地构建。

开始