摘要
SORA 是一个基于 Substrate 的区块链网络,旨在成为一个去中心化的自治经济体,使用 XOR 代币和代币绑定曲线。本文解释了 SORA 是什么、如何通过 RPC 连接到它,以及如何评估用于生产环境的基础设施。
快速建议:如何决定 SORA 基础设施
在编写任何代码之前,先决定如何访问 SORA 网络。选择取决于你的工作负载,而不是网络本身。
- 用于原型开发或黑客松: 使用公共端点。对于少量请求没问题,但不要在其上构建产品。
- 用于生产环境的 dApp 或后端服务: 使用托管的 RPC 提供商或运行自己的节点。托管服务处理正常运行时间、扩展和维护,让你专注于应用程序。
- 用于实时功能(如订单簿或价格源): 你需要 WebSocket (WSS) 支持。确认你的提供商提供此功能。
- 用于历史数据或分析: 你可能需要归档节点访问。检查你的提供商是否支持归档查询。
- 用于高流量或严格的延迟要求: 考虑专用节点,以避免嘈杂的邻居和速率限制。
如果不确定,可以从提供免费层级的托管 RPC 提供商开始,测试你的工作负载,然后随着增长升级。
什么是 SORA 网络区块链?
SORA 是一个基于 Substrate 的区块链网络,旨在创建一个去中心化的自治经济体(DAE)。它使用 XOR 代币和代币绑定曲线来管理弹性货币供应,以响应经济需求。该网络为去中心化交易所 Polkaswap 提供支持,并通过 SORA 议会支持民主治理。
SORA 基于 Substrate 构建,与 Polkadot 相同的框架,这使其具有企业级安全性和演进的灵活性。它不是 EVM 链,因此开发者使用 Substrate 的 JSON-RPC 接口与其交互,而不是以太坊风格的 JSON-RPC。
为什么 RPC 端点对 SORA 开发者很重要
要在 SORA 上构建,你的应用程序需要读取链状态、提交交易并监听事件。RPC 端点提供了该接口。你的 RPC 基础设施的质量直接影响:
- 可靠性: 公共端点可能宕机或限流,导致应用中断。
- 延迟: 对于实时功能,慢端点会让 UI 感觉迟钝。
- 数据完整性: 历史查询需要归档节点。
- 安全性: 恶意端点可能返回错误数据或审查你的交易。
如何连接到 SORA:端点和设置
要连接到 SORA,你需要一个 RPC 端点。OnFinality 为 SORA 提供公共端点,你可以在 SORA 网络页面 找到。对于生产环境,考虑使用像 OnFinality 这样的托管 RPC 提供商,它提供专用节点和共享 RPC 服务。
以下是使用 Polkadot.js API 在 JavaScript 中连接到 SORA 的基本示例:
const { ApiPromise, WsProvider } = require('@polkadot/api');
async function main() {
const wsProvider = new WsProvider('wss://sora.api.onfinality.io/public-ws');
const api = await ApiPromise.create({ provider: wsProvider });
// 获取链名称
const chain = await api.rpc.system.chain();
console.log('Connected to:', chain.toString());
// 获取最新区块号
const lastHeader = await api.rpc.chain.getHeader();
console.log('Latest block:', lastHeader.number.toNumber());
await api.disconnect();
}
main().catch(console.error);
注意:上述端点是一个占位符。始终查看 SORA 网络页面 获取当前公共端点 URL。
评估 SORA 的 RPC 提供商
为 SORA 选择 RPC 提供商时,考虑以下标准:
| 标准 | 检查内容 | 重要性 |
|---|---|---|
| 正常运行时间 | 历史正常运行时间和 SLA | 停机会破坏应用并失去用户 |
| 延迟 | 从你所在地区的响应时间 | 响应慢影响用户体验 |
| 速率限制 | 每秒请求数和每日限制 | 限制可能在高负载下限制应用 |
| WebSocket 支持 | 订阅的 WSS 可用性 | 实时功能需要 |
| 归档数据 | 访问历史状态 | 分析和某些查询需要 |
| 专用节点 | 独占基础设施选项 | 避免嘈杂邻居和速率限制 |
| 定价 | 透明、可预测的成本 | 帮助预算和扩展 |
OnFinality 为 SORA 提供托管 RPC 服务,包括共享和专用选项。你可以在 RPC 定价页面 比较计划。
使用 SORA RPC 的常见陷阱
- 在生产环境中使用公共端点: 公共端点通常有限流,可能宕机。它们适合测试,但不适合生产。
- 忽略 WebSocket 支持: 如果你的应用需要实时更新,必须使用 WSS。并非所有提供商都提供。
- 不检查归档支持: 如果需要历史数据,确保提供商有归档节点。
- 假设 EVM 兼容性: SORA 基于 Substrate,因此 ethers.js 等以太坊工具不能直接使用。使用 Polkadot.js 或 Substrate 兼容库。
- 忽视速率限制: 即使托管提供商也有限制。了解你的使用情况并选择合适的计划。
排查 SORA RPC 问题
如果遇到问题,请遵循以下调试路径:
- 检查端点 URL: 确保你使用的是 SORA 网络页面 上的正确 URL。
- 用简单请求测试: 使用 curl 验证连接。
curl -H "Content-Type: application/json" -d '{"id":1,"jsonrpc":"2.0","method":"system_chain","params":[]}' https://sora.api.onfinality.io/public
- 检查速率限制: 如果收到 429 响应,说明你达到了限制。考虑升级计划。
- 验证 WebSocket 连接: 使用 wscat 等工具测试 WSS。
- 检查代码: 确保你为 Substrate 使用了正确的库和方法名。
关键要点
- SORA 是一个基于 Substrate 的区块链,用于去中心化自治经济体,使用 XOR 和代币绑定曲线。
- RPC 端点对于在 SORA 上构建可靠应用至关重要。
- 根据工作负载选择基础设施:测试用公共,生产用托管,高流量用专用。
- 评估提供商时考虑正常运行时间、延迟、速率限制、WebSocket 支持、归档数据和定价。
- 避免常见陷阱,如在生产中使用公共端点和忽略 WebSocket 支持。
常见问题
什么是 SORA 网络? SORA 是一个基于 Substrate 的区块链网络,旨在成为去中心化自治经济体,使用 XOR 代币和代币绑定曲线。
SORA 是 EVM 链吗? 不是,SORA 基于 Substrate,因此使用 Substrate 的 JSON-RPC,而不是以太坊的。
如何获取 SORA RPC 端点? 你可以使用 OnFinality 的公共端点或注册托管 RPC 服务。详情请参阅 SORA 网络页面。
我可以将 ethers.js 与 SORA 一起使用吗? 不可以,ethers.js 用于 EVM 链。请使用 Polkadot.js 或其他 Substrate 兼容库。
什么是 XOR 代币? XOR 是 SORA 网络的原生代币,用于治理、费用和作为交换媒介。
OnFinality 支持 SORA 吗? 是的,OnFinality 为 SORA 提供 RPC 服务。请查看 支持的网络页面 了解更多信息。