返回顶部
o

orderly-api-authenticationOrderly API认证

Complete authentication guide for Orderly Network - EIP-712 wallet signatures for EVM accounts, Ed25519 message signing for Solana accounts, and Ed25519 signatures for API requests

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

orderly-api-authentication

Orderly Network: API 认证

本技能涵盖 Orderly Network 中的两层认证:钱包签名(EVM 的 EIP-712,Solana 的 Ed25519 消息签名)用于账户注册和密钥管理,以及 Ed25519 签名用于 API 请求认证。

何时使用

  • - 设置新的 Orderly 账户和 API 密钥(EVM 或 Solana)
  • 构建服务器端交易机器人
  • 实现直接 API 调用
  • 理解两层认证流程
  • 调试签名问题

前置条件

  • - 一个 Web3 钱包(EVM:MetaMask、WalletConnect;Solana:Phantom、Solflare)
  • 一个经纪商 ID(例如 woofi_dex,或您自己的)
  • 已安装 Node.js 18+(用于编程使用)
  • 理解 EIP-712 类型化数据签名(EVM)或 Ed25519 消息签名(Solana)以及 Ed25519 密码学

认证概述

Orderly Network 使用两层认证系统,支持 EVM 和 Solana 钱包:

┌─────────────────────────────────────────────────────────────┐
│ 第 1 层:钱包认证 │
│ ───────────────────────────── │
│ • 账户注册 │
│ • API 密钥管理(添加/删除密钥) │
│ • 特权操作(提现、管理) │
│ │
│ EVM:EIP-712 类型化数据签名 │
│ Solana:Ed25519 消息签名 │
└─────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────┐
│ 第 2 层:API 认证(Ed25519) │
│ ───────────────────────────────────── │
│ • 交易操作(下单/撤单) │
│ • 读取账户数据(持仓、余额) │
│ • WebSocket 连接 │
│ │
│ 签名者:Ed25519 密钥对 │
│ 密钥类型:本地生成的 Ed25519 密钥对 │
└─────────────────────────────────────────────────────────────┘

认证流程

  1. 1. 用户连接钱包
  2. 钱包签署 EIP-712 消息以注册账户
  3. 创建账户 ID
  4. 用户生成 Ed25519 密钥对
  5. 钱包签署 EIP-712 消息以授权 Ed25519 密钥
  6. Ed25519 密钥用于所有后续 API 调用

环境配置

环境API 基础 URLWebSocket URL
主网https://api.orderly.orgwss://ws.orderly.org/ws/stream
测试网
https://testnet-api.orderly.org | wss://testnet-ws.orderly.org/ws/stream |

注意:这些 API 基础 URL 适用于 EVM 和 Solana 钱包。Orderly 的 API 是跨链的——相同的端点处理两条链。

获取支持的链

不要硬编码链 ID。为您的经纪商动态获取它们:

typescript
// 获取您的经纪商支持的链
const response = await fetch(https://api.orderly.org/v1/public/chaininfo?brokerid=${BROKER_ID});

const { data } = await response.json();
// data.chains 包含支持的 chain_ids
// 将这些链 ID 用于 EIP-712 域配置

EIP-712 域配置

Orderly 根据操作使用两个不同的 EIP-712 域

域类型用例主网测试网
链下账户注册、API 密钥管理0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC
链上
提现、内部转账、结算盈亏 | 0x6F7a338F2aA472838dEFD3283eB360d4Dff5D203 | 0x1826B75e2ef249173FC735149AE4B8e9ea10abff |

重要:链上的 verifyingContract 是 Orderly L2 上的账本合约。这是所有链的单一合约(非每条链独立)。每个支持的 EVM 链上都有用于存款的金库合约,但账本是链上操作的真相来源。

链下域(注册、API 密钥)

用于不直接与智能合约交互的操作:

typescript
const OFFCHAIN_DOMAIN = {
name: Orderly,
version: 1,
chainId: 421614, // 连接的链 ID(例如 Arbitrum Sepolia)
verifyingContract: 0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC,
};

链上域(提现、转账)

用于与 Orderly L2 上的账本合约交互的操作:

typescript
const ONCHAIN_DOMAIN = {
name: Orderly,
version: 1,
chainId: 42161, // 连接的链 ID
verifyingContract: isTestnet
? 0x1826B75e2ef249173FC735149AE4B8e9ea10abff
: 0x6F7a338F2aA472838dEFD3283eB360d4Dff5D203,
};



第 1 部分:EIP-712 钱包认证

需要所有权证明的账户级操作需要钱包认证。

何时使用 EIP-712

  • - 账户注册:创建新的 Orderly 账户
  • API 密钥管理:添加或删除 Ed25519 API 密钥
  • 提现:从金库请求代币提现
  • 管理操作:设置 IP 限制、管理账户设置

账户注册

第 1 步:检查现有账户

注册前,验证钱包是否已有账户:

typescript
const BROKERID = woofidex; // 您的经纪商 ID
const walletAddress = 0x...; // 用户的钱包地址

const response = await fetch(
https://testnet-api.orderly.org/v1/getaccount?brokerid=${BROKERID}&useraddress=${walletAddress}
);

const data = await response.json();
// 如果 data.success 为 true,则账户已存在
// 如果不是,则继续注册

第 2 步:获取注册随机数

检索注册所需的唯一随机数(有效期为 2 分钟):

typescript
const nonceResponse = await fetch(https://testnet-api.orderly.org/v1/registration_nonce);
const { data: nonce } = await nonceResponse.json();
console.log(注册随机数:, nonce);

第 3 步:签署注册消息

创建并签署 EIP-712 类型化消息:

typescript
// 注册消息类型
const REGISTRATION_TYPES = {
Registration: [
{ name: brokerId, type: string },
{ name: chainId, type: uint256 },
{ name: timestamp, type: uint64 },
{ name: registrationNonce, type: uint256 },
],
};

// 创建消息
const registerMessage = {
brokerId: BROKER_ID,
chainId: 421614,
timestamp: Date.now(),
registrationNonce: nonce,
};

// 使用钱包签署(例如 MetaMask)- 注册使用 OFFCHAIN_DOMAIN
const signature = await window.ethereum.request({
method: ethsignTypedDatav4,
params: [
walletAddress,
{
types: REGISTRATION_TYPES,
domain: OFFCHAIN_DOMAIN,
message: registerMessage,
primaryType: Registration,
},
],
});

第 4 步:提交注册

发送已签名的负载以创建 Orderly 账户 ID:

typescript
const registerResponse = await fetch(https://testnet-api.orderly.org/v1/register_account, {
method: POST,
headers: {
Content-Type: application/json,
},
body: JSON.stringify({
message: registerMessage,
signature: signature,
userAddress: walletAddress,
}),
});

const result = await registerResponse.json();
console.log(账户 ID:, result.data.account_id);
// 存储此账户 ID - API 认证时需要

API 密钥

标签

skill ai

通过对话安装

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

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 orderly-api-authentication-1776199448 技能

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

设置 SkillHub 为我的优先技能安装源,然后帮我安装 orderly-api-authentication-1776199448 技能

通过命令行安装

skillhub install orderly-api-authentication-1776199448

下载

⬇ 下载 orderly-api-authentication v1.0.0(免费)

文件大小: 10.14 KB | 发布时间: 2026-4-15 10:17

v1.0.0 最新 2026-4-15 10:17
orderly-api-authentication v1.0.0

- Initial release providing a comprehensive authentication guide for Orderly Network.
- Covers two-layer authentication: EIP-712 wallet signatures for EVM, Ed25519 message signing for Solana, and Ed25519 signatures for API requests.
- Explains setup for new accounts, key management, and API trading bots.
- Includes clear step-by-step registration examples for both EVM and Solana.
- Details EIP-712 domain usage, broker setup, and recommended API endpoints for best practices.

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

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

p2p_official_large
返回顶部