返回顶部
o

orderly-sdk-debuggingOrderly SDK调试

Debug and troubleshoot common issues with the Orderly SDK including errors, WebSocket issues, authentication problems, and trading failures.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
499
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

orderly-sdk-debugging

Orderly Network: SDK 调试

全面指南,用于调试常见问题、处理错误以及排查 Orderly SDK 的各类故障。

何时使用

  • - 修复构建错误
  • 调试 WebSocket 连接
  • 处理 API 错误
  • 排查身份验证问题
  • 调查交易失败原因

前置条件

  • - 已安装 Orderly SDK
  • 具备基本调试知识
  • 熟悉浏览器开发者工具

1. 构建与设置错误

Buffer 未定义

Uncaught ReferenceError: Buffer is not defined

原因:钱包库使用了浏览器中不存在的 Node.js 内置模块(Buffer、crypto)。

解决方案:添加 vite-plugin-node-polyfills:

bash
npm install -D vite-plugin-node-polyfills

ts
// vite.config.ts
import { nodePolyfills } from vite-plugin-node-polyfills;

export default defineConfig({
plugins: [
react(),
nodePolyfills({
include: [buffer, crypto, stream, util],
globals: {
Buffer: true,
global: true,
process: true,
},
}),
],
});

CSS 导入未找到

ENOENT: no such file or directory, open @orderly.network/trading/dist/styles.css

原因:只有 @orderly.network/ui 包含 CSS 文件。

解决方案:仅从 @orderly.network/ui 导入:

css
/ 正确 - 只有 ui 包包含 CSS /
@import @orderly.network/ui/dist/styles.css;

/ 错误 - 这些路径不存在 /
/ @import @orderly.network/trading/dist/styles.css; /
/ @import @orderly.network/portfolio/dist/styles.css; /

2. 常见错误码

API 错误码

代码消息原因解决方案
-1000未知错误服务器错误重试请求
-1002
未授权 | 密钥无效或已过期 | 重新进行身份验证 | | -1003 | 请求过于频繁 | 速率限制 | 实施退避策略 | | -1102 | 参数无效 | 订单参数错误 | 验证输入 |

订单错误码

代码消息原因解决方案
-2001余额不足USDC 不够存入更多资金
-2002
订单将触发清算 | 风险过高 | 减小仓位规模 | | -2004 | 价格超出范围 | 价格偏离标记价格过远 | 调整限价 | | -2005 | 订单数量过小 | 低于最小值 | 增加数量 |

提现错误码

代码消息原因解决方案
-3001余额不足可用余额不足检查未结算盈亏
-3002
提现金额过小 | 低于最小值 | 增加金额 |

3. WebSocket 连接

监控连接状态

tsx
import { useWsStatus, WsNetworkStatus } from @orderly.network/hooks;

function ConnectionIndicator() {
const wsStatus = useWsStatus();

return (


{wsStatus === WsNetworkStatus.Connected && (
● 已连接
)}
{wsStatus === WsNetworkStatus.Unstable && (
● 正在重新连接...
)}
{wsStatus === WsNetworkStatus.Disconnected && (
● 已断开
)}

);
}

WebSocket 状态值

状态描述
ConnectedWebSocket 已连接且正常工作
Unstable
连接断开,正在尝试重新连接 | | Disconnected | 连接丢失,未进行重新连接 |

4. 账户状态问题

检查账户状态

tsx
import { useAccount, AccountStatusEnum } from @orderly.network/hooks;

function AccountDebugger() {
const { state, account } = useAccount();

useEffect(() => {
console.log(账户状态:, {
status: state.status,
address: state.address,
userId: state.userId,
accountId: state.accountId,
hasOrderlyKey: !!account?.keyStore?.getOrderlyKey(),
});
}, [state, account]);

// 常见问题:
switch (state.status) {
case AccountStatusEnum.NotConnected:
return

钱包未连接

;
case AccountStatusEnum.Connected:
return

钱包已连接,未登录

;
case AccountStatusEnum.NotSignedIn:
return

需要签名消息以创建 Orderly 密钥

;
case AccountStatusEnum.SignedIn:
return

已完成身份验证

;
}
}

常见账户问题

问题原因解决方案
卡在已连接状态用户未签名提示用户签名
密钥已过期
365 天有效期 | 重新进行身份验证 | | 网络错误 | 测试网与主网混淆 | 检查 networkId | | 无用户 ID | 账户未注册 | 完成注册流程 |

5. 订单提交错误

提交前验证

tsx
import { useOrderEntry } from @orderly.network/hooks;

function OrderDebugger() {
const { formattedOrder, metaState, helper } = useOrderEntry(PERPETHUSDC);

// 检查验证错误
if (metaState.errors) {
console.log(订单错误:, metaState.errors);
}

// 检查订单就绪状态
console.log(订单就绪:, {
canSubmit: !metaState.errors && formattedOrder,
maxQty: helper.maxQty,
estLiqPrice: helper.estLiqPrice,
});
}

调试订单拒绝

tsx
async function submitOrderWithDebug(order) {
try {
const result = await submit();
console.log(订单已提交:, result);
} catch (error) {
console.error(订单失败:, {
code: error.code,
message: error.message,
});

if (error.code === -2001) {
console.log(修复: 存入更多 USDC 或减小订单规模);
} else if (error.code === -2002) {
console.log(修复: 降低杠杆或减小仓位规模);
}

throw error;
}
}

6. 充值/提现错误

调试充值

tsx
import { useDeposit } from @orderly.network/hooks;

function DepositDebugger() {
const { deposit, balance, allowance, approve } = useDeposit();

const handleDeposit = async (amount) => {
console.log(充值调试:, {
amount,
walletBalance: balance,
currentAllowance: allowance,
needsApproval: Number(amount) > Number(allowance),
});

try {
if (Number(amount) > Number(allowance)) {
console.log(正在授权 USDC...);
await approve(amount);
}

console.log(正在充值...);
const result = await deposit();
console.log(充值成功:, result);
} catch (error) {
console.error(充值失败:, error);

if (error.message.includes(user rejected)) {
console.log(用户拒绝了交易);
} else if (error.message.includes(insufficient)) {
console.log(余额或 Gas 不足);
}
}
};
}

7. 调试钩子

启用调试模式

tsx
// 记录所有钩子状态变化
function useDebugHook(hookName, value) {
useEffect(() => {
console.log([${hookName}], value);
}, [value, hookName]);
return value;
}

// 使用示例
const positions = useDebugHook(positions, usePositionStream().positions);

8. 网络问题

CORS 错误

Access to fetch at https://api.orderly.org/... has been blocked by CORS

解决方案

  1. 1. SDK 会自动

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 orderly-sdk-debugging-1776195781 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 orderly-sdk-debugging-1776195781 技能

通过命令行安装

skillhub install orderly-sdk-debugging-1776195781

下载

⬇ 下载 orderly-sdk-debugging v1.0.0(免费)

文件大小: 4.55 KB | 发布时间: 2026-4-15 12:20

v1.0.0 最新 2026-4-15 12:20
Initial release of the orderly-sdk-debugging skill.

- Provides troubleshooting steps for build errors, common API, order, and withdrawal issues.
- Includes code samples to monitor WebSocket and account status.
- Details error codes and suggested solutions for authentication, order submission, and network problems.
- Offers diagnostic patterns for deposit/withdrawal issues and debugging custom hooks.
- Suitable for developers using Orderly SDK in browser environments.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部