Logo
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 内容

Testnet Rpc

什么是Solana Devnet,如何开始在上面构建?

Solana Devnet 是一个公共测试网络,它镜像了 Mainnet Beta,允许开发者在不使用真实 SOL 的情况下部署和测试程序。本指南涵盖了如何连接到 Devnet RPC 端点、从水龙头请求测试 SOL,以及设置用于在 Solana 上构建的开发环境。...

Rpc Provider Selection

在Solana质押集成中应关注哪些API

在Solana上集成质押需要使用能暴露账户数据、投票账户以及委托和提取等质押操作的API。合适的提供商应提供对 `getStakeActivation`、`getVoteAccounts` 和交易提交端点的可靠访问。本文涵盖了关键RPC方法以及选择质押dApp的API提供商时需要考虑的因素。...

Rpc Provider Selection

TON RPC Provider Comparison: What to Check Before Going to Production

Choosing the right TON RPC provider is critical for dApps, Telegram Mini Apps, and payment flows. This guide breaks down the key evaluation criteria—l...

Network Rpc

什么是 Gnosis Chain RPC,如何选择合适的端点?

Gnosis Chain RPC 端点允许开发者通过 JSON-RPC 调用与 Gnosis Chain 网络交互。本文介绍了链设置、如何评估提供商以及在生产 dApp 中选择基础设施时应避免的常见陷阱。...

Testnet Rpc

团队应如何使用 Polygon 测试网 RPC 进行发布?

# 团队应如何使用 Polygon 测试网 RPC 进行发布? Polygon 测试网 RPC 之所以重要,是因为 Web3 应用依赖稳定的端点访问来进行读取、交易、仪表盘和后端工作流。正确的设置应匹配你的工作负载,支持你所需的网络和测试网,使限制可见,并在共享 RPC 不再足够时提供扩展路径。 对...

Network Rpc

选择 Hyperliquid RPC 提供商时应注意什么?

最佳的 Hyperliquid RPC 提供商能为交易机器人、分析系统和 HyperEVM 应用提供低延迟访问、可靠的端点行为、清晰的请求可见性,以及在共享 RPC 不再匹配工作负载时通往专用基础设施的路径。 如果你的应用依赖快速读取、交易状态检查、后端自动化或高流量市场工作流,那么提供商的选择就成...

永远不用担心基础设施

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

开始