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

什么是 Starknet 端点,如何选择?

摘要

Starknet 端点是您的应用程序用来向 Starknet 主网或 Sepolia 测试网发送 JSON-RPC 请求的 URL。它提供了读取区块、估算费用、提交交易和订阅事件的方法。

选择合适的端点意味着检查网络、RPC 版本、速率限制、归档数据和 WebSocket 支持。公共端点适合原型开发;生产级 dApp 通常需要私有 API 端点或来自 OnFinality 等提供商的专用节点。

Starknet 端点是您的应用程序通过 JSON-RPC 与 Starknet 通信的 URL。它是您的 dApp、钱包或索引服务与 Starknet 主网或 Sepolia 网络之间的桥梁。本页说明在 Starknet 端点中需要注意什么、如何调用它,以及如何在公共、私有和专用选项之间进行选择。

Starknet 端点决策清单

在将端点接入应用程序之前,请使用此清单比较选项。

标准检查内容重要性
网络主网还是 Sepolia?使用签名交易访问错误的网络可能代价高昂或造成混淆。
RPC 规范版本提供商是否公开您的 SDK 所期望的 Starknet JSON-RPC 版本?Starknet 会随时间升级 RPC 规范;不匹配会导致方法未找到或模式错误。
访问模式公共、API 密钥还是专用节点?公共端点方便但通常共享;专用基础设施让您拥有更多控制权。
速率限制每秒请求数、每日上限和公平使用政策高流量 dApp 如果限制过低,会遇到 429 响应。
归档数据历史状态和追踪支持浏览器、分析工具和一些 DeFi 功能需要归档数据。
WebSocket 支持用于订阅的 WSS 端点实时事件流需要支持 WebSocket 的提供商。
延迟和地理位置提供商节点的位置距离影响交互式 dApp 和交易工具的响应时间。
安全与隐私HTTPS、密钥存储、数据日志政策看到您流量的端点应符合您的安全期望。

什么是 Starknet 端点?

Starknet 是以太坊上的第 2 层 ZK-rollup。它在链下批量处理交易,生成 STARK 证明,并在以太坊上结算。应用程序通过 JSON-RPC API 与 Starknet 交互,而不是直接查询以太坊。

Starknet 端点只是接受这些 JSON-RPC 调用的 HTTP/HTTPS 或 WebSocket URL。它公开了诸如 starknet_blockNumberstarknet_getBlockWithTxsstarknet_call 等方法。您向端点发送 JSON-RPC 请求,它返回有关区块、交易、事件或合约状态的数据。

每当您需要以下操作时,您都需要一个端点:

  • 从钱包或 dApp 发送交易。
  • 使用 starknet_call 读取智能合约状态。
  • 在提交交易前估算费用。
  • 索引事件或监视待处理交易。
  • 部署和管理 Cairo 合约。

端点本身不是节点。节点运行 Starknet 客户端软件,包括共识和状态数据库。端点提供商运营节点并向您公开它们,因此您无需自己运行 Pathfinder、Juno 或其他客户端。

Starknet 主网和 Sepolia 端点

Starknet 有两个对大多数开发人员重要的环境:

  • 用于生产合约和真实资产的 Starknet 主网。
  • 用于在主网部署之前进行开发、暂存和测试的 Starknet Sepolia 测试网。

每个网络的端点 URL 不同。选择特定于网络的 URL,而不是依赖可能指向错误链的通用端点。大多数提供商都清楚地进行标记,例如 URL 路径中的 mainnetsepolia

一些实用说明:

  • 公共测试网端点通常适合早期开发。
  • 主网公共端点可能适用于快速读取,但它们是共享的,并且可能受到速率限制。
  • 对于专用设置,请选择托管端点,为您提供私有 URL 和可预测的限制。

如果您想使用 OnFinality 进行 Starknet 请求,请查看支持的 RPC 网络以获取当前端点详细信息和网络可用性。

公共、私有和专用端点

公共端点

公共端点是任何人都可以调用的开放 URL。它们非常适合项目的头五分钟:使用 curl 获取区块号、读取合约或检查测试网行为。但是,当流量激增时,它们对可用性、速率限制或数据新鲜度不提供任何保证。

私有 API 端点

私有端点需要 API 密钥。提供商通过专用 URL 路由您的请求,并应用特定于计划的限制。这些适用于暂存环境、生产 dApp 和需要稳定身份验证模型的工具。它们还允许您查看使用指标并按密钥调试问题。

专用节点

专用 Starknet 节点为您提供不与其他客户共享的基础设施。您可以请求归档数据、启用额外的 RPC 方法,并为您的工作负载调整节点。这对于分析管道、区块浏览器以及发出大量或异常请求的应用程序非常重要。

OnFinality 同时提供 RPC API 服务和专用节点基础设施。使用专用节点,您拥有自己的端点,而不是在共享池中与其他用户竞争。在迁移到专用节点之前,请检查您的请求量、归档需求和 WebSocket 使用情况,以选择正确的设置。

如果您只需要测试共享和专用基础设施之间的差异,请在承诺之前比较 RPC 定价API 服务 选项。

使用 JSON-RPC 连接到 Starknet 端点

所有 Starknet 端点都遵循 JSON-RPC 2.0 协议。基本请求包括方法名称、可选参数和 id。

以下是一个 curl 示例,用于读取最新区块号:

curl -X POST https://YOUR_STARKNET_RPC_URL -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"starknet_blockNumber","params":[],"id":1}'

如果请求成功,响应如下所示:

{"jsonrpc":"2.0","result":"0x4a","id":1}

result 是十六进制区块号。大多数 Starknet RPC 方法使用十六进制编码的整数和 Cairo 字符串,因此在解析响应时请记住这一点。

在 JavaScript 中,相同的调用如下所示:

const response = await fetch("https://YOUR_STARKNET_RPC_URL", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    jsonrpc: "2.0",
    method: "starknet_blockNumber",
    params: [],
    id: 1
  })
});
const data = await response.json();
console.log(data.result);

在编写生产代码时,请使用官方 Starknet RPC 规范中的方法列表。端点提供商可能支持不同的规范版本,因此请将您的 SDK 版本与端点版本匹配。如果您看到 Method not found,则端点可能运行比您的客户端期望的更新或更旧的规范。

选择提供商之前要评估什么

在编写生产代码之前,您可以使用一个小型测试脚本评估提供商。检查以下内容:

  1. 网络定位:URL 是否明确标记为主网或 Sepolia?
  2. RPC 版本:端点公开哪个 Starknet 规范版本?
  3. 速率限制:超过限制时会发生什么?您会收到 429 还是静默限制?
  4. 归档支持:您能否无错误地查询历史状态?
  5. WebSocket 支持:提供商是否提供用于订阅的 WSS?
  6. 故障转移:如果您的主要提供商宕机,您能否切换端点?

如需更深入的比较,请阅读如何选择 RPC 提供商,了解适用于任何链(不仅仅是 Starknet)的问题。

常见的 Starknet 端点陷阱

  • 使用错误的网络 URL。 Sepolia 端点和主网端点返回不同的数据。在签名或广播任何内容之前,请仔细检查。
  • 忘记内容类型。 Starknet JSON-RPC 服务器会拒绝没有 Content-Type: application/json 的请求。
  • 假设所有提供商都支持相同的方法。 某些端点仅公开基本规范,而其他端点则添加额外方法。首先确认方法可用性。
  • 混合 RPC 版本。 Starknet 客户端和 SDK 针对特定规范版本。提供 v0.9 的端点可能会拒绝为 v0.8 编写的调用,反之亦然。
  • 忽略速率限制。 当共享池饱和时,公共端点返回 429。添加重试逻辑,并考虑使用私有 API 密钥或专用节点。
  • 使用不支持的 WebSocket 端点。 并非所有提供商都提供 WSS 订阅。如果您的应用需要事件流,请在启动前验证。

对 Starknet 端点进行故障排除

从最小请求开始以隔离问题:

  1. 向端点发送 starknet_blockNumber
  2. 检查 HTTP 状态代码和 JSON-RPC 错误字段。
  3. 如果收到解析器错误,请确认请求体是有效的 JSON。
  4. 如果收到 Method not found,请确认 RPC 规范版本。
  5. 如果收到 429,请等待后重试,或移至更高级别的端点。
  6. 如果收到空结果,请验证所请求的区块或合约地址是否存在于您查询的网络上。

对于长期运行的服务,不要硬编码单个端点。维护一个健康的 RPC URL 列表,并在您的客户端中构建故障转移。当使用可能在没有警告的情况下降级的公共端点时,这一点尤其重要。

关键要点

  • Starknet 端点是连接您的应用与 Starknet 主网或 Sepolia 的 JSON-RPC URL。
  • 公共端点适合原型开发,但生产工作负载需要可预测的限制和支持。
  • 私有 API 端点和专用节点为您提供更多控制、可观察性和稳定性。
  • 在集成之前,请验证网络、RPC 规范版本、归档支持和 WebSocket 可用性。
  • OnFinality 可以提供 RPC 和专用节点基础设施;有关详细信息,请参阅支持的 RPC 网络RPC 定价

常见问题解答

什么是默认的 Starknet 端点? 没有单一的默认端点。您需要提供商 URL 或来自节点提供商的公共端点。您可以找到社区维护的列表或使用您的提供商仪表板。对于 OnFinality,请查看支持的 RPC 网络以获取当前详细信息。

公共 Starknet 端点对生产环境安全吗? 公共端点通常是共享的并且受到速率限制。它们可以用于轻量级读取,但生产 dApp 应使用私有端点或专用节点以获得可预测的性能,并避免依赖他人的可用性。

主网和 Sepolia 端点有什么区别? 主网端点与 Starknet 生产和真实资产交互。Sepolia 端点指向测试网,用于开发。它们是单独的 URL,并返回完全不同的链状态。

Starknet 是否支持 WebSocket 端点? 一些提供商提供用于实时订阅的 WebSocket 端点。在依赖它之前,请检查提供商的文档。如果 WebSocket 不可用,您可能需要轮询或使用专用节点。

如何快速测试 Starknet 端点? 使用 curl 发送一个带有 starknet_blockNumber 的单行 JSON-RPC 请求。如果您获得十六进制区块号,则端点可访问且已同步。

RPC 知识库

相关 RPC 内容

网络 RPCAvalanche

Avalanche API:开发者应了解哪些关于RPC、数据和节点访问的内容?

Avalanche API是开发者用于在Avalanche主网及其Layer 1上读写数据的接口集合。它包括C链、P链和X链的JSON-RPC方法,以及用于余额、交易和代币元数据的更高级数据API。选择合适的API访问方式取决于你的工作负载:简单的dApp调用可以使用公共RPC端点,而生产环境应用通...

网络 RPCEth Sepolia

如何通过 eth_getBlockByNumber 获取最新的以太坊区块?

了解如何使用 eth_getBlockByNumber JSON-RPC 方法获取最新的以太坊区块,包括 curl 和 ethers.js 示例、响应字段和常见陷阱。比较公共、托管和专用 RPC 选项,为您的 dApp 选择合适的端点。...

RPC 提供商选择Nodle Testing Parachain

在测试时,Solana RPC 提供商订阅计划中应该关注什么?

测试 Solana 应用需要一个 RPC 计划,该计划需平衡成本、速率限制以及对 devnet 或 mainnet 的访问。本文解释了在订阅计划中应评估哪些内容(例如请求配额、WebSocket 支持和存档数据),以及如何将计划与测试阶段(从快速原型到负载测试)相匹配。...

网络 RPCScroll

关于 Scroll RPC 端点,我需要了解什么?

# 关于 Scroll RPC 端点,我需要了解什么? Scroll RPC 端点至关重要,因为 Web3 应用程序依赖于稳定的端点访问来实现读取、交易、仪表盘和后端工作流。正确的设置应匹配您的工作负载,支持您所需的网络和测试网,使限制可见,并在共享 RPC 不再足够时为您提供扩展路径。 对于 Sc...

网络 RPCBNB Chain

BNB RPC 列表:你的应用应该连接哪些端点?

只有当你清楚哪种端点类型适合你的工作负载时,BNB RPC 列表才有用。本页将 BNB Smart Chain 端点分为公共、托管和专用三类,然后展示在将任何内容接入生产环境之前所需的链设置、请求格式和故障模式。 你将获得精确的主网和测试网连接详情、一个 curl 和 viem 示例,以及一条简短的...

网络 RPCMantle

Mantle 端点:链设置、RPC URL 和调试

了解如何使用正确的链 ID、RPC 端点和浏览器设置连接到 Mantle 主网。本页涵盖公共和专用 RPC 选项、常见的 JSON-RPC 方法以及生产 dApp 的故障排除步骤。...

永远不用担心基础设施

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

开始