摘要
SORA API 指的是允许应用程序在 SORA 网络上读写数据的 RPC 端点和 JSON-RPC 方法。本文解释了什么是 SORA API、如何连接到它,以及如何为生产工作负载选择公共端点或专用端点。
快速决策指南:应该使用哪个 SORA 端点?
在编写任何代码之前,请决定哪个 SORA API 端点适合您的工作负载。正确的选择取决于您预期的流量、是否需要历史数据,以及您的应用程序对停机的敏感程度。
- 原型或低流量 dApp:公共端点适合开发和少量用户。您可以从公共 RPC URL 开始,如果遇到速率限制,再切换。
- 流量稳定的生产 dApp:使用像 OnFinality 这样的托管 RPC 服务,以获得专用的吞吐量和可靠性。公共端点在高负载下可能会限流或不可用。
- 索引器或分析:您可能需要归档数据或追踪支持。请检查提供商是否提供归档节点以及启用了哪些方法。
- 高频交易或 DeFi 机器人:延迟和 WebSocket 支持很重要。专用节点提供一致的性能,并允许您调整节点配置。
如果不确定,可以从提供免费层级的托管提供商开始,随着使用量增长再扩展。OnFinality 提供随需求扩展的 RPC 定价,您可以在 网络页面 上查看所有支持的网络。
什么是 SORA API?
SORA API 是允许应用程序与 SORA 区块链交互的 JSON-RPC 端点集合。SORA 是一个基于 Polkadot 的网络,专注于去中心化金融(DeFi)和超国家经济体系的创建。该 API 允许您查询链状态、提交交易和监听事件。
SORA 使用 Substrate 框架,因此其 RPC 接口与其他 Polkadot 平行链类似。如果您使用以太坊兼容层,可以使用标准的以太坊风格 JSON-RPC 方法,或者使用 Substrate 特定方法进行更深入的链交互。
对于大多数开发者来说,SORA API 是构建钱包、DeFi 仪表板或任何需要在 SORA 上读写数据的应用程序的门户。
SORA 链设置一览
以下是配置钱包或 dApp 连接到 SORA 所需的关键设置:
| 设置 | 值 |
|---|---|
| 网络名称 | SORA |
| RPC 端点 | 使用 SORA 网络页面 上的公共端点或您提供商的端点 |
| 链 ID | 参考网络配置(通常为 0x2b 或类似值,适用于基于 Substrate 的链) |
| 符号 | XOR |
| 区块浏览器 | SORA 浏览器(外部) |
始终从官方网络配置验证链 ID 和端点,以避免连接到测试网或恶意端点。
如何连接到 SORA API
您可以使用标准的 JSON-RPC 调用与 SORA API 交互。以下是一个简单的 curl 示例,用于获取最新区块号:
curl -X POST <SORA_RPC_URL> \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"chain_getHeader","params":[],"id":1}'
将 <SORA_RPC_URL> 替换为实际的端点。对于 JavaScript 开发者,您可以使用 polkadot-js/api 库与 SORA 交互:
const { ApiPromise, WsProvider } = require('@polkadot/api');
const wsProvider = new WsProvider('wss://sora.api.onfinality.io/public-ws');
const api = await ApiPromise.create({ provider: wsProvider });
const lastHeader = await api.rpc.chain.getHeader();
console.log('Last block number:', lastHeader.number.toNumber());
注意:上面的 WebSocket 端点只是一个示例。请使用 SORA 网络页面 上的官方端点或您提供商的文档。
您最常用的 SORA API 方法
根据您的应用程序,您将混合使用 Substrate 和以太坊兼容的方法。以下是最常见的方法:
- 链状态:
chain_getHeader、chain_getBlock、state_getStorage - 账户余额:
state_getBalance(Substrate)或eth_getBalance(以太坊兼容) - 交易提交:
author_submitExtrinsic(Substrate)或eth_sendRawTransaction(以太坊兼容) - 事件:
chain_subscribeNewHeads(WebSocket)用于实时更新
如果您正在构建钱包,您可能会使用余额和交易方法。如果您正在构建索引器,您将需要区块和存储方法。
公共与专用 SORA API 端点
公共端点很方便,但有局限性。它们被许多用户共享,因此可能会被限流或在高峰时段变慢。对于生产应用程序,专用端点提供:
- 一致的性能:没有嘈杂的邻居影响您的请求延迟。
- 更高的速率限制:您可以每秒发出更多请求而不会触发限制。
- 自定义配置:您可以启用归档数据或调整节点设置以匹配您的工作负载。
OnFinality 为 SORA 和其他网络提供 专用节点。使用专用节点,您拥有自己的 RPC 端点,不与其他用户共享,从而获得更多控制和可靠性。
如何选择 SORA API 提供商
在评估 SORA API 提供商时,请考虑以下因素:
| 标准 | 检查内容 | 为什么重要 |
|---|---|---|
| 吞吐量 | 每秒请求限制 | 防止流量高峰期间的限流 |
| 可靠性 | 正常运行时间历史和冗余 | 确保您的 dApp 保持在线 |
| 归档数据 | 归档节点的可用性 | 历史查询和索引器需要 |
| WebSocket 支持 | 实时事件订阅 | 钱包和仪表板中的实时更新至关重要 |
| 定价模式 | 免费层级、按需付费或固定费率 | 符合您的预算和使用模式 |
| 支持 | 文档和响应时间 | 帮助您快速解决问题 |
OnFinality 是一个不错的选择,因为它提供免费层级、灵活的定价和全球节点网络。您可以从公共端点开始,随着项目增长升级到专用节点。
常见陷阱及如何避免
- 使用错误的链 ID:如果您连接到错误的网络,交易将失败。始终从官方配置中仔细检查链 ID。
- 忽略速率限制:公共端点有限制。如果超过限制,您将收到错误。使用提供更高限制或专用节点的提供商。
- 不处理 WebSocket 重连:WebSocket 连接可能会断开。实现重连逻辑以保持实时更新。
- 假设归档数据可用:并非所有提供商都提供归档节点。如果您需要历史状态,请确认提供商支持。
生产就绪检查清单
在启动您的 dApp 之前,请完成此检查清单:
- 选择可靠的 RPC 提供商(考虑 OnFinality)
- 设置 RPC 端点健康监控
- 为失败的请求实现重试逻辑
- 在需要实时数据的地方使用 WebSocket
- 在扩展之前使用公共端点进行测试
- 查看 RPC 定价 以估算成本
关键要点
- SORA API 是 SORA 区块链的 JSON-RPC 接口,用于读取数据、提交交易和订阅事件。
- 公共端点适合开发,但生产应用程序应使用托管或专用端点以获得可靠性和性能。
- 根据吞吐量、归档数据、WebSocket 支持和定价选择提供商。
- 始终验证链设置并处理常见陷阱,如速率限制和 WebSocket 重连。
常见问题
什么是 SORA API?
SORA API 是允许应用程序与 SORA 区块链交互的 JSON-RPC 端点集合。它包括查询链状态、提交交易和订阅事件的方法。
如何获取 SORA RPC 端点?
您可以使用 SORA 网络页面 上的公共端点,或注册像 OnFinality 这样的托管提供商以获得专用端点。
OnFinality 支持 SORA 吗?
是的,OnFinality 支持 SORA。您可以在 支持的网络页面 上找到该网络,并使用免费 API 密钥开始使用。
公共和专用 SORA 端点有什么区别?
公共端点是共享的,可能有速率限制。专用端点对您的项目是私有的,提供更高的吞吐量和更一致的性能。
我可以将 WebSocket 与 SORA API 一起使用吗?
是的,SORA 支持 WebSocket 连接以获取实时数据。使用您的 RPC 提供商提供的 WebSocket 端点。
使用 SORA API 需要多少费用?
费用因提供商而异。OnFinality 提供免费层级和透明的 定价,随您的使用量扩展。