摘要
SORA是一个基于Substrate的区块链网络,旨在创建一个主权经济系统,使用XOR代币和代币绑定曲线。它为Polkaswap提供动力,并支持民主治理和跨链互操作性。本文解释了什么是SORA,如何通过RPC连接到它,以及为生产应用选择基础设施时需要考虑的事项。
快速建议:如何决定SORA基础设施
在编写任何代码之前,决定如何访问SORA网络。选择取决于你的工作负载,而不是网络本身。
- 用于原型或黑客松: 使用公共端点。对于少量请求没问题,但不要在其上构建产品。
- 用于生产dApp或后端服务: 使用托管RPC提供商或运行自己的节点。托管服务处理正常运行时间、扩展和维护,让你专注于应用程序。
- 用于实时功能,如订单簿或价格源: 你需要WebSocket(WSS)支持。确认你的提供商提供此功能。
- 用于历史数据或分析: 你可能需要归档节点访问。检查你的提供商是否支持归档查询。
- 用于高流量或严格延迟要求: 考虑专用节点以避免邻居干扰和速率限制。
如果不确定,从提供免费层级的托管RPC提供商开始,测试你的工作负载,然后随着增长升级。OnFinality提供SORA的RPC端点和专用节点,如果你需要更多控制。
什么是SORA区块链?
SORA是一个基于Substrate的去中心化区块链网络,Substrate是Polkadot使用的同一框架。其目标是创建一个主权经济系统,用户可以通过代币绑定曲线治理网络并管理其货币政策。原生代币XOR被设计为一种稳定、适应性强的货币,可以根据需求扩展或收缩供应。
SORA不是EVM兼容链。它使用Substrate的原生运行时,这意味着你使用Substrate RPC方法(如chain_getBlock或state_getStorage)与之交互,而不是以太坊风格的JSON-RPC方法。对于来自以太坊或其他EVM链的开发者来说,这是一个关键区别。
该网络为去中心化交易所Polkaswap提供动力,并支持民主治理,XOR持有者可以对提案进行投票。它还旨在实现跨链互操作性,允许资产在SORA和其他网络之间移动。
为什么RPC端点对SORA开发者很重要
与SORA网络的每次交互——读取余额、提交交易、查询状态——都通过RPC(远程过程调用)端点进行。该端点的质量直接影响应用程序的可靠性和用户体验。
- 公共端点通常有速率限制,可能会拥堵,导致超时或请求丢失。
- 托管RPC提供商提供专用端点,具有更高的吞吐量、更好的正常运行时间,并支持WebSocket订阅。
- 运行自己的节点给你完全控制权,但需要持续的维护、监控和基础设施成本。
对于生产应用程序,托管RPC提供商通常是正确的选择。它减轻了运营负担,并提供用户期望的可靠性。
如何连接到SORA:端点和设置
要连接到SORA网络,你需要一个RPC端点URL。该网络支持HTTPS和WSS(WebSocket)端点。以下是使用polkadot-js/api库(与Substrate链交互的标准方式)的JavaScript应用程序的典型设置。
const { ApiPromise, WsProvider } = require('@polkadot/api');
async function main() {
// 使用WSS端点进行实时更新
const provider = new WsProvider('wss://sora.api.onfinality.io/public-ws');
const api = await ApiPromise.create({ provider });
// 获取最新区块号
const lastHeader = await api.rpc.chain.getHeader();
console.log('最新区块:', lastHeader.number.toString());
// 获取账户余额(替换为真实地址)
const address = 'YOUR_ACCOUNT_ADDRESS';
const { data: balance } = await api.query.system.account(address);
console.log('可用余额:', balance.free.toString());
await api.disconnect();
}
main().catch(console.error);
对于简单的curl请求来检查最新区块,你可以使用HTTPS端点:
curl -H "Content-Type: application/json" -d '{"id":1,"jsonrpc":"2.0","method":"chain_getBlock","params":[]}' https://sora.api.onfinality.io/public
如果你使用托管提供商,通常会获得API密钥或专用URL。保持密钥安全并定期轮换。
评估SORA的RPC提供商
为SORA选择RPC提供商时,考虑以下标准:
| 标准 | 检查内容 | 重要性 |
|---|---|---|
| 正常运行时间 | 历史正常运行时间统计 | 停机意味着你的应用不可用 |
| 速率限制 | 每秒请求数(RPS)和每日限制 | 免费层级可能会限制你的流量 |
| WebSocket支持 | WSS端点可用性 | 实时订阅需要 |
| 归档数据 | 访问历史状态 | 分析和调试需要 |
| 专用选项 | 提供私有节点的能力 | 将你与其他用户的流量隔离 |
| 定价模型 | 按需付费与订阅 | 与你的预算和使用情况保持一致 |
OnFinality提供RPC定价,可根据你的需求扩展,你可以查看支持的网络以确认SORA的可用性。
使用SORA RPC的常见陷阱
即使有好的提供商,你也可能遇到问题。以下是常见陷阱及如何避免:
- 在生产环境中使用公共端点: 公共端点不适合生产环境。它们可能被速率限制或无故宕机。
- 忽略WebSocket支持: 如果你的应用需要实时数据,必须使用WSS。一些提供商只提供HTTPS,这需要轮询。
- 不处理速率限制: 托管提供商有限制。如果超过限制,可能会收到429错误。实现退避和重试逻辑。
- 假设EVM兼容性: SORA基于Substrate。不要尝试使用
eth_call或其他EVM方法;它们会失败。 - 忘记归档节点: 如果需要历史数据,确保你的提供商提供归档节点。并非所有提供商都提供。
排查SORA RPC问题
如果遇到错误,这里有一个快速调试路径:
- 检查端点URL: 确保正确,并且使用正确的协议(HTTPS与WSS)。
- 验证API密钥: 如果使用托管服务,确认密钥有效且未过期。
- 用简单请求测试: 使用
curl调用chain_getBlock,看看是否有响应。 - 检查速率限制: 如果收到429响应,说明达到限制。降低请求频率或升级计划。
- 查找网络问题: 如果端点宕机,检查提供商的状态页面或尝试备用端点。
有关更详细的故障排除,请参阅我们的RPC故障排除指南。
关键要点
- SORA是一个基于Substrate的区块链,用于主权经济系统,使用XOR和代币绑定曲线。
- 它不是EVM兼容的;使用Substrate RPC方法。
- 公共端点仅用于测试;生产环境使用托管提供商。
- WebSocket支持对于实时应用至关重要。
- 历史数据需要归档节点。
- 根据正常运行时间、速率限制、WebSocket、归档和定价来评估提供商。
常见问题解答
SORA是EVM兼容链吗?
不,SORA基于Substrate,使用Substrate RPC方法,而不是以太坊JSON-RPC。
XOR代币有什么用途?
XOR是SORA的原生代币,用于治理、交易费用以及作为网络内的交换媒介。
我可以在生产环境中使用公共RPC端点吗?
不建议。公共端点通常有速率限制且不可靠。使用托管提供商或运行自己的节点。
OnFinality支持SORA吗?
是的,OnFinality为SORA提供RPC端点。查看我们的支持的网络页面了解详情。
如何获得专用的SORA节点?
你可以通过OnFinality的专用节点服务配置专用节点。