Skip to main content
即刻安装 Cobo WaaS Skill,在 Claude Code、Cursor 等 AI 开发环境中使用自然语言集成 WaaS API,显著提升开发效率 🚀

概述

本指南介绍如何开始使用 Cobo WaaS 2.0 JavaScript SDK,它允许您使用 JavaScript 编程语言将 WaaS 服务集成到您的现有 App 中。 要了解使用 WaaS API 所需的初始设置步骤,请参阅发送您的第一个 API 请求 您可以访问 GitHub 查看 SDK 的源代码。

前提条件

安装与项目准备

  1. 创建项目根目录并初始化 NPM:
mkdir waas2-js && cd waas2-js
npm init -y
  1. 安装 SDK:
npm install @cobo/cobo-waas2 --save
安装完成后的目录结构(示例)如下:
waas2-js/
├─ node_modules/
├─ package.json
├─ package-lock.json
└─ (稍后将创建) index.js
如果您的项目已存在 package.jsonpackage-lock.json,可直接将二者放到根目录后执行 npm install 拉取依赖。
  1. 在项目根目录创建一个文件 index.js,并将以下示例代码粘贴到该文件中。

配置 API Key 和 HTTP Host

  1. 设置 API Secret。
// 初始化默认 API 客户端
const apiClient = CoboWaas2.ApiClient.instance
// 设置 API Secret
apiClient.setPrivateKey("<YOUR_API_SECRET_IN_HEX>");
  1. 选择环境。
// 选择开发环境
apiClient.setEnv(CoboWaas2.Env.DEV);

// 选择生产环境
// apiClient.setEnv(CoboWaas2.Env.PROD);

示例代码

API 操作级别的文档和示例代码请参照 WaaS SDK GitHub 仓库内的 docs 文件夹。

列出支持的链

const CoboWaas2 = require("@cobo/cobo-waas2");
// 初始化 API 客户端
const apiClient = CoboWaas2.ApiClient.instance;
// 设置运行环境(开发环境:Env.DEV,生产环境:Env.PROD)
apiClient.setEnv(CoboWaas2.Env.DEV);
// 配置 API Secret,请将 <YOUR_PRIVATE_KEY> 替换为您的 API Secret。
apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
// 创建 WalletsApi 实例
const apiInstance = new CoboWaas2.WalletsApi();
// 定义查询参数
const opts = {
  wallet_type: "Custodial",      // 钱包类型:全托管钱包
  wallet_subtype: "Asset",       // 钱包子类型:资产钱包
  chain_ids: "BTC,ETH",          // 需要查询的链 ID:BTC,ETH
  limit: 10,                     // 返回数量限制为 10 条
  before: "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1", // 分页用,可选
  after: "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk",  // 分页用,可选
};
// 调用 API 列出支持的链
apiInstance.listSupportedChains(opts).then(
  (data) => {
    console.log("API called successfully. Returned data: " + data);
  },
  (error) => {
    console.error(error);
  },
);
示例响应如下:
API called successfully. Returned data: {
 "data": [
   {
     "chain_id": "BTC",
     "symbol": "Bitcoin",
     "icon_url": "https://d.cobo.com/public/logos/btc%403x.png",
     "explorer_tx_url": "https://mempool.space/tx/{txn_id}",
     "explorer_address_url": "https://mempool.space/address/{address}",
     "require_memo": false,
     "confirming_threshold": 4
   },
   {
     "chain_id": "ETH",
     "symbol": "Ethereum",
     "icon_url": "https://d.cobo.com/public/logos/eth%403x.png",
     "explorer_tx_url": "https://etherscan.io/tx/{txn_id}",
     "explorer_address_url": "https://etherscan.io/address/{address}",
     "require_memo": false,
     "confirming_threshold": 64
   }
 ],
 "pagination": {
   "before": "",
   "after": "",
   "total_count": 2
 }
}

创建钱包

const CoboWaas2 = require("@cobo/cobo-waas2");
// 初始化 API 客户端
const apiClient = CoboWaas2.ApiClient.instance;
// 设置运行环境(开发环境:Env.DEV,生产环境:Env.PROD)
apiClient.setEnv(CoboWaas2.Env.DEV);
// 配置 API Secret,请将 <YOUR_PRIVATE_KEY> 替换为您的 API Secret
apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
// 创建 WalletsApi 实例
const apiInstance = new CoboWaas2.WalletsApi();
// 定义创建钱包的参数
const opts = {
  CreateWalletParams: CoboWaas2.CreateWalletParams.constructFromObject({
    name: "My WaaS 2.0 Wallet", // 钱包名称
    wallet_type: "Custodial",   // 钱包类型:全托管钱包
    wallet_subtype: "Asset",    // 子类型:资产钱包
  }),
};
// 调用 API 创建钱包
apiInstance.createWallet(opts).then(
  (data) => {
    console.log("API called successfully. Returned data: " + data);
  },
  (error) => {
    console.error(error);
  },
);