摘要
Ajuna 是一个基于 Polkadot 的网络,专为游戏和链上应用工作负载而设计。本页面涵盖了开发者连接它所需的内容:链设置、如何将钱包或客户端指向 Ajuna RPC 端点,以及如何调试常见的连接故障。
如果您要从公共端点迁移到更可靠的生产环境,OnFinality 为支持的网络提供 RPC API 访问和专用节点基础设施。在迁移之前,请查看 Ajuna 网络页面和 RPC 定价以确认当前可用性。
Ajuna 是一个基于 Substrate 的网络,专为游戏和链上应用工作负载而构建,连接到 Polkadot 生态系统。如果您搜索“ajuna”是因为您试图将钱包、dApp 或后端服务连接到网络,那么您首先需要一个可用的 RPC 端点和正确的链设置。本页面提供了这些信息,然后介绍了连接选项以及您最可能遇到的故障。
从这里开始:您实际需要哪种 Ajuna 连接?
在复制端点之前,请确定您的项目需要哪种访问方式。正确的选择取决于您是在探索、发布面向用户的应用,还是运行索引器和自动化。
| 您的情况 | 使用什么 | 为什么 |
|---|---|---|
| 您想读取链状态或测试一次调用 | 公共/共享 RPC 端点 | 确认网络响应和工具链正常工作的最快方式 |
| 您正在发布有真实用户的 dApp | 带监控和故障转移的托管 RPC API | 公共端点是共享的,在高负载下可能限速或丢弃请求 |
| 您运行索引器、机器人或繁重的读写工作负载 | 专用节点基础设施 | 您控制容量并避免邻居干扰 |
| 您需要历史状态或繁重查询 | 支持归档访问的提供商 | 标准全节点可能会修剪您需要的数据 |
如果您仍在共享和专用访问之间犹豫,权衡与任何 Substrate 链相同:共享端点便宜且快速,专用节点成本更高但提供可预测的吞吐量。OnFinality 为支持的网络提供 RPC API 访问 和 专用节点,因此您可以从共享开始,并在工作负载增长时升级。
Ajuna 链设置概览
Ajuna 是一个 Substrate/Polkadot 生态系统链,这意味着它使用标准的 Substrate JSON-RPC 接口,而不是以太坊 JSON-RPC 接口。这一事实解释了人们遇到的大多数连接问题。
| 设置 | 值/说明 |
|---|---|
| 网络类型 | 基于 Substrate,Polkadot 生态系统 |
| RPC 接口 | Substrate JSON-RPC(非以太坊 JSON-RPC) |
| 原生代币 | AJUN |
| 地址格式 | SS58(Substrate 风格地址) |
| 钱包支持 | Polkadot.js、SubWallet、Talisman 和其他 Substrate 钱包 |
| 典型传输 | HTTP(S) 用于请求,WebSocket 用于订阅 |
需要牢记两点:
- 不要将 MetaMask 指向 Ajuna。 MetaMask 期望 EVM 链 ID 和以太坊风格的方法。Ajuna 不是 EVM 链,因此
eth_chainId、eth_getBalance及类似调用不会按您预期的方式运行。 - 使用 Substrate 工具。 Polkadot.js、Substrate API Sidecar 和
@polkadot/api库是自然的客户端。如果您的团队只熟悉 ethers.js 或 viem,请预留时间学习 Substrate 模型。
在硬编码之前,请始终根据官方 Ajuna 文档或网络页面确认当前的链属性(代币小数位、SS58 前缀以及任何网络特定参数),因为这些可能会随着网络发展而变化。
连接钱包或客户端
对于 Substrate 链,“添加网络”通常意味着配置钱包或客户端库,而不是填写 EVM 网络表单。例如,在 Polkadot.js Apps 中,您选择网络并提供 WebSocket 端点。
使用 @polkadot/api 的最小连接如下所示:
import { ApiPromise, WsProvider } from '@polkadot/api';
// Replace with the WebSocket endpoint you have been given access to.
const provider = new WsProvider('wss://your-ajuna-endpoint');
const api = await ApiPromise.create({ provider });
const [chain, nodeName, nodeVersion] = await Promise.all([
api.rpc.system.chain(),
api.rpc.system.name(),
api.rpc.system.version()
]);
console.log(`Connected to ${chain} via ${nodeName} v${nodeVersion}`);
如果您希望在编写应用程序代码之前使用原始 HTTP 调用检查连接性,请使用 Substrate 方法,例如 system_chain:
curl -sS -X POST https://your-ajuna-endpoint \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"system_chain","params":[]}'
健康的响应会在 result 字段中返回链名称。如果返回错误对象,请跳至下面的调试部分。
请注意,确切的公共端点 URL 取决于提供商,并且可能会更改。与其硬编码您在论坛帖子中找到的 URL,不如从 Ajuna 网络页面 或您的提供商仪表板获取端点,并将其保存在环境变量中,以便无需更改代码即可轮换。
生产就绪检查清单
一次成功的 system_chain 调用并不意味着您的集成已准备好投入生产。在将真实流量指向端点之前,请完成以下清单。
- 故障转移: 配置至少两个端点以及客户端重试/回退路径。单个硬编码 URL 是单点故障。
- 传输选择: 对于请求/响应调用使用 HTTPS,仅在确实需要订阅的地方使用 WebSocket。长寿命 WebSocket 需要重连逻辑。
- 速率限制: 了解您的提供商的请求限制及其执行方式。共享公共端点通常最先在突发流量下限流。
- 归档需求: 如果您查询历史状态,请确认端点提供归档数据,而不是修剪过的全节点。
- 监控: 跟踪请求延迟、错误率和订阅断开连接。对持续的错误峰值发出警报,而不是单个故障。
- 机密信息: 切勿在客户端代码中发布 API 密钥。通过您自己的后端代理经过身份验证的调用。
如果使用公共端点难以满足其中几项,这通常是转向托管或专用选项的信号。您可以在 RPC 定价页面 上比较各层级。
常见故障模式及调试方法
大多数 Ajuna 连接问题属于少数几类。在更改其他任何内容之前,将症状与可能的原因匹配。
| 症状 | 可能原因 | 首先检查 |
|---|---|---|
Method not found | 您向 Substrate 节点发送了以太坊风格的方法 | 确认您使用的是 Substrate 方法,如 system_chain、chain_getHeader |
| 连接被拒绝/超时 | URL 错误、传输错误或端点宕机 | 验证协议(https 与 wss)以及主机是否可解析 |
| WebSocket 反复关闭 | 订阅限制或不稳定的网络路径 | 添加重连/退避并检查提供商限制 |
| 历史数据为空或缺失 | 节点是修剪的,不是归档节点 | 与您的提供商确认归档支持 |
| 本地正常,生产失败 | 密钥暴露、CORS 或速率限制 | 检查服务器端代理和提供商限制 |
| 钱包无法添加网络 | 地址格式或链属性错误 | 使用 SS58 地址和 Substrate 钱包 |
快速诊断顺序:
- 通过 HTTPS 测试
system_chain。如果失败,问题在于连接性,而不是您的应用程序逻辑。 - 如果需要订阅,通过 WebSocket 测试同一端点。如果 HTTP 正常但 WS 不正常,则是传输或订阅问题。
- 与第二个端点进行比较。如果第二个正常,则第一个有问题。
- 只有到那时才查看您的应用程序代码。
Ajuna 的共享端点与专用节点
对于用于游戏或应用工作负载的 Substrate 链,流量可能是突发性的:一天中大部分时间安静,然后在事件或游戏会话开始时出现峰值。这种模式正是共享端点挣扎而专用容量有帮助的地方。
- 共享 RPC 是开发、测试和低流量应用的合适起点。您可以快速获得端点,并且费用很少或免费。
- 专用节点 在您需要一致的吞吐量、归档访问或与其他租户流量隔离时是有意义的。您本质上是在租用基础设施而不是运营它。
- 运行自己的节点 提供最大控制权,但增加实际运营成本:硬件、升级、监控和待命。对于许多团队来说,除非有特定的合规或定制需求,否则这种成本超过收益。
决策通常归结为您的应用程序可以容忍多少停机时间和延迟变化。如果答案是“非常少”,那么托管或专用访问是务实的选择。
Ajuna 在 Polkadot 堆栈中的位置
Ajuna 位于更广泛的 Polkadot 生态系统中,因此团队经常将其与其他 Substrate 链一起连接。如果您跨多个网络构建,请标准化您的连接层:一个客户端包装器、一组重试规则、一个监控仪表板。这样,添加或交换链就是配置更改,而不是重写。
您可以在 支持的 RPC 网络 页面上查看哪些网络可用于托管访问,并尽可能在这些网络上使用相同的提供商关系,以简化计费和支持。
关键要点
- Ajuna 是一个基于 Substrate 的 Polkadot 生态系统链,因此它使用 Substrate JSON-RPC,而不是以太坊 JSON-RPC。
- 使用 Substrate 工具和 SS58 地址;不要将 MetaMask 指向 Ajuna。
- 根据 Ajuna 网络页面 确认链属性和当前端点,而不是硬编码论坛中的值。
- 对于生产环境,在投入使用前规划故障转移、速率限制、归档需求和监控。
- 共享 RPC 适合开发;专用节点适合突发性或高吞吐量工作负载。
- OnFinality 为支持的网络提供 RPC API 访问 和 专用节点;在迁移前检查可用性和 定价。
常见问题解答
Ajuna 是 EVM 链吗? 不是。Ajuna 是 Polkadot 生态系统中基于 Substrate 的网络,因此它使用 Substrate JSON-RPC 方法和 SS58 地址,而不是以太坊风格的方法和 0x 地址。
我应该为 Ajuna 使用哪个钱包? 使用兼容 Substrate 的钱包,例如 Polkadot.js、SubWallet 或 Talisman。像 MetaMask 这样的仅 EVM 钱包不适合此网络。
为什么我的调用返回“Method not found”?
您很可能向 Substrate 节点发送了以太坊 JSON-RPC 方法。切换到 Substrate 方法,如 system_chain 或 chain_getHeader。
我可以在生产环境中使用公共端点吗? 可以,但公共端点是共享的,在高负载下可能限速或丢弃请求。对于面向用户的应用,请规划具有故障转移的托管或专用端点。
OnFinality 支持 Ajuna 吗? 查看 Ajuna 网络页面 了解当前可用性,并查看 支持的 RPC 网络 获取完整列表。可用性可能会变化,因此在围绕它构建之前请确认。
如何调试不断断开的 WebSocket? 添加具有指数退避的重连逻辑,确认端点支持订阅,并检查是否达到提供商的订阅限制。