@coinbase/coinbase-sdk

中文文档
0.25.0发布于 2025/06/05ISCTypeScriptCommonJS构建来源已验证近 30 天下载 3.5万

核心平台 SDK

中文使用文档
文档目录10 节
  1. 文档
  2. 所需资源
  3. 安装
  4. 使用量
  5. 初始化
  6. 钱包、地址和转账
  7. 无气UDC 转账
  8. 交易基金
  9. 重新证明钱包
  10. 承认

核心节点Js SDK

npm version npm weekly downloads

Coinbase Node.js SDK 允许将密码简单地整合到您的应用程序中. 通过呼叫 Coinbase 的平台 API, SDK 允许您提供加密钱包, 将加密输入/出这些钱包, 跟踪钱包余额, 将密码从一个资产交换到另一个资产 .

SDK 支持多个网络上的各种动词, 如文件所示 这里。 。 。 .

说明: 由于SDK提供了新的能力并改进了开发者的经验,更新可能偶尔会包括断裂变化. 这些文件将载入本报告 变动情况 文档.

文档

所需资源

Coinbase服务器侧SDK需要Node.js版本18或更高,npm版本9.7.2或更高. 要查看您当前已安装的 Node.js 版本, 请从命令行运行如下 :

node -v
npm -v

我们建议安装和管理节点和npm版本 nvm。见 安装和更新 输入 nvm 研究如何安装的指令 nvm。 。 。 .

一次 nvm ,您可以通过运行以下命令来安装和使用最新版本的Node.js和npm:

nvm install node # "node" is an alias for the latest version
nvm use node

安装

可选: npm 初始化

此命令初始化了一个新的 npm 工程, 并设置了默认设置, 通过设置类型字段为软件包. json 文件的"模块"来使用 ES 模块 .

npm init -y; npm pkg set type="module"

您可以导入 SDK 如下:

npm install @coinbase/coinbase-sdk

或者说

yarn add @coinbase/coinbase-sdk

使用量

初始化

您可以导入 SDK 如下 :

常见 Js :

const { Coinbase, Wallet } = require("@coinbase/coinbase-sdk");

ES模块 :

import { Coinbase, Wallet } from "@coinbase/coinbase-sdk";

开始, 创建 CDP API 密钥。然后,通过 API 键名和 API 键的私人密钥通过 API 键名 Coinbase 构造器 :

const apiKeyName = "Copy your API Key name here.";

const privateKey = "Copy your API Key's private key here.";

Coinbase.configure({ apiKeyName: apiKeyName, privateKey: privateKey });

如果您正在使用 CDP 服务器- Signer 来管理您的私人密钥, 请启用 constuctor 选项 :

Coinbase.configure({ apiKeyName: apiKeyName, privateKey: apiKeyPrivateKey, useServerSigner: true })

另一个初始化SDK的方法是从包含您API密钥的json文件取出API密钥,从CDP门户网站下载.

Coinbase.configureFromJson({ filePath: "path/to/your/api-key.json" });

这将允许您使用平台 API 认证 .

常见 Js :

const { Coinbase, Wallet } = require("@coinbase/coinbase-sdk");
Coinbase.configureFromJson("path/to/your/api-key.json");

// List all Wallets for the CDP Project.
Wallet.listWallets().then(resp => {
  console.log(resp.data);
});

或使用ES模块和sync/await:

import { Coinbase, Wallet } from "@coinbase/coinbase-sdk";
Coinbase.configureFromJson("path/to/your/api-key.json");

// List all Wallets for the CDP Project.
const resp = await Wallet.listWallets();
console.log(resp.data);

钱包、地址和转账

现在, 创建一个钱包, 它将默认为 Base Sepolia 测试网网络( 如果没有指定 ) .

// Create a Wallet with one Address by default.
const wallet = await Wallet.create();

接下来查看您的钱包的默认地址 。 您需要这个默认地址, 才能为您的第一个转帐提供资金 .

// A Wallet has a default Address.
const address = await wallet.getDefaultAddress();
console.log(`Address: ${address}`);

钱包身上没有资金启动 为了资助这个地址,您需要向上面产生的钱包寄出资金。 如果你没有测试网的资金,从 水龙头。 。 。 .

为发展目的,我们提供 faucet 以EH在塞波利亚基地测试网的地址为您提供资金的方法。 我们允许每个地址 在24小时窗口里有一个水龙头索赔.

// Create a faucet request that returns you a Faucet transaction that can be used to track the tx hash.
const faucetTransaction = await wallet.faucet();
console.log(`Faucet transaction: ${faucetTransaction}`);
// Create a new Wallet to transfer funds to.
// Then, we can transfer 0.00001 ETH out of the Wallet to another Wallet.
const anotherWallet = await Wallet.create();
let transfer = await wallet.createTransfer({ amount: 0.00001, assetId: Coinbase.assets.Eth, destination: anotherWallet });
transfer = await transfer.wait();

无气UDC 转账

为了转移USDC而无需持有ETH气体,你可以使用 createTransfer 使用该方法 gasless 选项设置为 true。 。 。 .

let transfer = await wallet.createTransfer({ amount: 0.00001, assetId: Coinbase.assets.Usdc, destination: anotherWallet, gasless: true });
transfer = await transfer.wait();

默认情况下,无煤气转让与其他转让一起进行分批,提交可能需要更长的时间。 如果你想选择不进行批量,可以设置 skipBatching 选项到 true,将立即提交交易.

let transfer = await wallet.createTransfer({
  amount: 0.00001,
  assetId: Coinbase.assets.Usdc,
  destination: anotherWallet,
  gasless: true,
  skipBatching: true
});
transfer = await transfer.wait();

交易基金

// Create a Wallet on `base-mainnet` to trade assets with.
let mainnetWallet = await Wallet.create({ networkId: Coinbase.networks.BaseMainnet });

console.log(`Wallet successfully created: ${mainnetWallet}`);

// Fund your Wallet's default Address with ETH from an external source.

// Trade 0.00001 ETH to USDC
let trade = await wallet.createTrade({ amount: 0.00001, fromAssetId: Coinbase.assets.Eth, toAssetId: Coinbase.assets.Usdc });
trade = await trade.wait();

console.log(`Trade successfully completed: ${trade}`);

重新证明钱包

SDK用开发者管理的密钥创建了钱包,这意味着您负责安全地存储重新建立钱包所需的密钥. 下面的代码会指引您 如何导出钱包并存储在一个安全的地方.

// Export the data required to re-instantiate the Wallet.
const data = wallet.export();

要坚持钱包的数据,您需要执行存储方法,将数据导出存储在一个安全的位置. 如果你不把钱包存放在一个安全的地方... ...你就会失去使用钱包和所有资金的机会.

// At this point, you should implement your own "store" method to securely persist
// the data required to re-instantiate the Wallet at a later time.
await store(data);

为了方便测试,我们提供 saveSeed 在本地文件系统中存储钱包种子的方法。 这是一种储存钱包种子的不安全方法,只能用于发展目的.

const seedFilePath = "";
wallet.saveSeedToFile(seedFilePath);

要加密已保存的数据, 请设置加密为真 。 请注意, 您的 CDP API 密钥也是本地持续的数据的加密密钥 。 要用加密数据重现钱包, 请使用相同的 API 键配置您的 SDK saveSeed 财务报告和审定财务报表 loadSeed。 。 。 .

wallet.saveSeedToFile(seedFilePath, true);

以下代码说明如何从数据导出时重新证明钱包.

// The Wallet can be re-instantiated using the exported data.
const importedWallet = await Wallet.import(data);

使用 saveSeed,使用以下代码.

const userWallet = await Wallet.fetch(wallet.getId());
await userWallet.loadSeedFromFile(seedFilePath);

承认

此工程包括来自 维姆 根据麻省理工学院颁发的许可证.

版本与发布记录

@coinbase/coinbase-sdk 共发布 47 个版本,首次发布于 2024/05/29;过去 12 个月发布了 0 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.25.0latest2025/06/051.4 年前
0.24.02025/05/081.5 年前
0.23.02025/04/171.6 年前
0.22.02025/04/031.6 年前
0.21.02025/03/011.7 年前
0.20.02025/02/261.7 年前

关于 @coinbase/coinbase-sdk 的常见问题

@coinbase/coinbase-sdk 是什么?

核心平台 SDK

如何安装 @coinbase/coinbase-sdk?

在项目目录运行 npm install @coinbase/coinbase-sdk,或使用 pnpm add / yarn add / bun add。

@coinbase/coinbase-sdk 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@coinbase/coinbase-sdk 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@coinbase/coinbase-sdk 可以商用吗?

@coinbase/coinbase-sdk 使用 ISC 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@coinbase/coinbase-sdk 的下载量有多少?

根据 npm 官方下载统计,@coinbase/coinbase-sdk 在 2026/10/11 – 2026/11/09 这 30 天内被下载 34,685 次,日均约 1,156 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@coinbase/coinbase-sdk 还在维护吗?

最新版本 0.25.0 发布于 2025/06/05(1.4 年前);至今共发布 47 个版本,其中过去 12 个月发布了 0 个;首次发布于 2024/05/29。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。