# @babylonlabs-io/ts-sdk 中文文档

规范地址：https://npmcn.com/package/%40babylonlabs-io/ts-sdk/

版本：8\.3\.3
npm 元数据更新时间：2026-11-05T10:14:21.083Z
中文译文更新时间：2026-11-07T16:03:16.649Z
软件包许可：ISC

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40babylonlabs-io/ts-sdk
原文对照：https://npmcn.com/package/%40babylonlabs-io/ts-sdk/?lang=original
项目主页：https://github.com/babylonlabs-io/babylon-toolkit#readme
源码仓库：https://github.com/babylonlabs-io/babylon-toolkit

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：6.6 MB，975 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=20\.3\.0
- 运行依赖：3 个
- peer 依赖：viem ^2\.38\.2，bitcoinjs-lib 6\.1\.7，@bitcoin-js/tiny-secp256k1-asmjs 2\.2\.3，@babylonlabs-io/babylon-tbv-rust-wasm 2\.1\.0
- 首次发布：2025-11-17T10:41:13.747Z
- 最新版本发布：2026-11-05T10:14:20.762Z
- 近 30 天下载量：5649（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：188（近 12 个月 188 个）

## 中文简介

巴比伦协议集成 TypeScript SDK

## 安装

```sh
npm install @babylonlabs-io/ts-sdk
```

也可以使用：`pnpm add @babylonlabs-io/ts-sdk`、`yarn add @babylonlabs-io/ts-sdk`、`bun add @babylonlabs-io/ts-sdk`

## README

# @babylonlabs-io/ts-sdk (英语)

[![Build Status](https://github.com/babylonlabs-io/babylon-toolkit/workflows/Verify%20PR/badge.svg)](https://github.com/babylonlabs-io/babylon-toolkit/actions/workflows/verify.yml) [![npm version](https://badge.fury.io/js/@babylonlabs-io%2Fts-sdk.svg)](https://www.npmjs.com/package/@babylonlabs-io/ts-sdk)

无信任比特币跳伞的脚本 SDK 类型

## 概览

巴比伦TypeScript SDK是将无信比特币跳伞整合到您的应用程序中的工具包. 它提供金库生命周期管理(peg-in,激活,退款,支付签名)和上建的应用程序集成,从Aave v4开始.

## 什么是无信的比特币断层?

无信的比特币沃特斯(TBV)允许您锁定比特币并在支持的链上(如出借协议)的应用中使用而无需放弃监管. 金库协议允许:

-   **裴进**:将BTC锁入比特币上的金库,用作抵押([协议光谱](https://github.com/babylonlabs-io/btc-vault/blob/main/docs/pegin.md)(中文(简体) )
-   **弹出**: 从金库将 BTC 解锁回钱包([协议光谱](https://github.com/babylonlabs-io/btc-vault/blob/main/docs/pegout.md)(中文(简体) )
-   **DeFi 整合**: 在 Aave 等协议中使用已金库的 BTC

这个SDK处理复杂的比特币和埃特鲁姆相互作用来创建和管理这些金库.

### 关键特性

-   **空洞管理** - 破损制造(Pegin)、保险库救赎(Pegout)和保险库生命周期业务
-   **QQ 应用程序集成** - 从Aave(DeFi贷款)开始的预建集成
-   **框架不可知论** - 与React、Vue、Angular、Node.js或香草JavaScript合作
-   **QQ 类型安全** - 具有全部IDE支持的全面类型脚本
-   **模块设计** - 仅通过子路径输出使用您需要的东西
-   **\* 广泛** - 易于建立定制一体化

## 平台

这个SDK运行 **无论是Node.js后端还是浏览器/反应前端** - 那个 整个库都是框架不可知的。 这个 _仅限_ 两者之间的差别 环境是您如何提供两个东西: 比特币钱包和伊特鲁姆 钱包。 SDK提供接口(`BitcoinWallet`维埃姆的 `WalletClient`(中文(简体) ) 并调整平台上可用的钱包.

| 关切 | 节点.js后端 | 浏览器/ 反应 |
| --- | --- | --- |
| `BitcoinWallet` | 从种子通过 `bitcoinjs-lib` + 键 `bip32` (或称KMS/HSM) | 调整一个被注入的钱包( Unisat, OKX, Xverse, 皮革) |
| 维姆 `WalletClient` | `createWalletClient({ account: privateKeyToAccount(pk), chain, transport: http(RPC_URL) })` | `createWalletClient({ account, chain, transport: custom(window.ethereum) })` 通过wagmi |
| 秘密存储 | 您的 DB / KMS( 稍后需要激活) | 会话/本地存储或用户提供 |
| 正在装入 | 自动( SDK 读取) `.wasm` 关闭磁盘 `node:fs`(中文(简体) ) | 自动( SDK 获取) `.wasm` 通过捆绑) |

如果您使用捆绑器( Vite, webpack, Next.js),请确保配置到 控件 `.wasm` 资产和资产 `Buffer` 可在全球浏览器中查阅 目标——见 [解决问题指南](https://npmcn.com/package/%40babylonlabs-io/ts-sdk/docs/get-started/troubleshooting.md)。 。 。 .

## 安装

### 所需资源

-   **节点.js 20.3.0** ——支持的基线. 工作在节点20 LTS,22 LTS,24 LTS上.
-   软件包管理器: npm、 纱线或 pnpm

### 安装

`viem ^2.38.2` 是唯一需要的对等方。 只有Etereum 消费者安装 sDK和Viem: (英语)

```bash
pnpm add @babylonlabs-io/ts-sdk viem
```

比特币同行是可选的. 在您面前添加他们支持的精确版本 导入根或比特币条目 :

```bash
pnpm add bitcoinjs-lib@6.1.7 @bitcoin-js/tiny-secp256k1-asmjs@2.2.3
```

WASM引擎也是可选的. 仅用于比特币建造和 签名路径 :

```bash
pnpm add @babylonlabs-io/babylon-tbv-rust-wasm
```

源代码表使用 `workspace:*` 为WASM对等。 释放过程 取而代之的是发行排练中使用的确切引擎版本.

### `loadRawTbvWasm()` 删除

使用守卫的建筑工 `@babylonlabs-io/ts-sdk/tbv/core/primitives`。 。 。 .

升级 `@babylonlabs-io/babylon-tbv-rust-wasm` 还有这个SDK 发动机 第0.1.7-0.19.0号决定 `/raw` 输入, 不导出分类 从包根。 有了这些释放之一, `buildRefundPsbt()` 失败.

如果你需要低级班,打电话 `loadTbvWasm()` 从 `@babylonlabs-io/ts-sdk/tbv/core/wasm`它返回初始化引擎 模块。 检查一下"WASM级" `@babylonlabs-io/babylon-tbv-rust-wasm` 读取我描述.

### ECC 库初始化(仅Bitcoin流量)

仅限ETH的消费者不需要ECC图书馆. 如果您的应用程序使用 SDK的比特币/塔普罗特操作,呼叫 `initEccLib()` 一次 **在SDK呼叫之前 创建 PSBT 或获取比特币地址**数字 :

```typescript
import * as ecc from "@bitcoin-js/tiny-secp256k1-asmjs";
import { initEccLib } from "bitcoinjs-lib";

initEccLib(ecc);
```

-   **节点.js**:请在您的切入点上方拨打此选项(`index.ts` /CLI条目).
-   **反应**: 调用它 `main.tsx` 编号 : `app.tsx` 在此之前 `createRoot()`。 。 。 .

未初始化产生运行时间错误 : `"No ECC Library provided"`。 。 。 .

内部使用的WASM软件包(`@babylonlabs-io/babylon-tbv-rust-wasm`(中文(简体) ) 草率地初始化——不需要额外呼叫.

### 验证安装

```typescript
import { buildPrePeginPsbt } from "@babylonlabs-io/ts-sdk/tbv/core/primitives";

console.log("✅ SDK installed successfully!");
console.log("buildPrePeginPsbt type:", typeof buildPrePeginPsbt);
```

运行方式 : `npx tsx verify-install.ts`

> **找麻烦?** 见 [解决问题指南](https://npmcn.com/package/%40babylonlabs-io/ts-sdk/docs/get-started/troubleshooting.md) 用于缓冲多填充、WASM设置和捆绑器配置.

## 软件包结构

SDK使用子路径导出硬依赖边界以及 树摇. 仅 EH 代码应导入专用 `/eth` 条目相对 宽相容管:

```typescript
// High-level managers (recommended for most users)
import { PeginManager, PayoutManager } from "@babylonlabs-io/ts-sdk/tbv/core";

// Ethereum-only readers and prepared peg-in registration (no BTC wallet,
// bitcoinjs-lib, tiny-secp256k1, or WASM required)
import {
  ViemProtocolParamsReader,
  ViemVaultRegistryReader,
  ViemPeginRegistrationClient,
} from "@babylonlabs-io/ts-sdk/tbv/core/clients/eth";

// Ethereum-only transaction receipt helper
import { waitForTransactionReceiptSmartAware } from "@babylonlabs-io/ts-sdk/tbv/core/utils/eth";

// Unauthenticated VP polling without the Bitcoin-auth implementation
import {
  VaultProviderRpcClient,
  batchPollByProvider,
  DaemonStatus,
} from "@babylonlabs-io/ts-sdk/tbv/core/clients/vault-provider/status";

// Mempool reads without bitcoinjs-lib, tiny-secp256k1, or WASM
import { getTxInfo } from "@babylonlabs-io/ts-sdk/tbv/core/clients/mempool";

// Low-level primitives (advanced use cases)
import {
  buildPrePeginPsbt,
  buildPeginTxFromFundedPrePegin,
  buildPayoutPsbt,
  buildNoPayoutPsbt,
  buildChallengeAssertPsbt,
  buildRefundPsbt,
  formatSatoshisToBtc,
} from "@babylonlabs-io/ts-sdk/tbv/core/primitives";

// Services (activation, deposit validation, protocol state)
import {
  activateVault,
  getPeginProtocolState,
  ContractStatus,
  validateDepositAmount,
  isPegoutTerminalStatus,
} from "@babylonlabs-io/ts-sdk/tbv/core/services";

// Utilities
import {
  selectUtxosForPegin,
  validateUtxosAvailable,
} from "@babylonlabs-io/ts-sdk/tbv/core";

// Shared wallet interfaces
import { BitcoinWallet } from "@babylonlabs-io/ts-sdk/shared";
// UTXO type lives in the core utils module
import { UTXO } from "@babylonlabs-io/ts-sdk/tbv/core";

// Contract ABIs (also dependency-clean for ETH consumers)
import { BTCVaultRegistryABI } from "@babylonlabs-io/ts-sdk/tbv/core/contracts";

// Protocol integrations (Aave)
import {
  buildBorrowTx,
  buildRepayTx,
  getUserAccountData,
  calculateHealthFactor,
} from "@babylonlabs-io/ts-sdk/tbv/integrations/aave";
```

`ViemPeginRegistrationClient` 只拥有 Ethereum 提交文件的一半 佩克内。 它接受一个签名的PegIn交易,PoP, `depositorPayoutScriptPubKey`,以及 `depositorBtcPubkeyRaw` 提前准备。 这个 从来没有要求一个 BTC 钱包。 以原始密钥验证支付脚本 在任何合同读取或钱包呼叫之前, 使用 PoP 键. `PeginManager` (单位:千美元) 在代表ETH客户端之前, 请检查钱包地址 .

## 从哪里开始

SDK暴露出几个同行切入点—— **管理人员**, (中文(简体) ), **服务**, (中文(简体) ), **原始人**, (中文(简体) ), **倾斜**, (中文(简体) ), **客户**,以及 **整合** -你来作你需要的作品 新一体化的两个最常见的起点是:

### 管理人员(高级别)

-   **什麽**: 用于完整金库工作流程的预建钱包管弦
-   **最好还是**: Web 应用程序,浏览器钱包(MetaMask, Unisat)
-   **你提供**: 钱包接口
-   **SDK 手柄**: 交易大楼、签署协调、合同呼叫

### 初级( 低等, 高级)

-   **什麽**: 用于构建 Bitcoin PSBT 的纯函数
-   **最好还是**:后端服务,自定义签名(KMS/HSM),全控
-   **你提供**:一切(签名逻辑,合同电话,广播)
-   **SDK 手柄**: 仅具有PSBT建设和公用事业功能

对于如何 `services`, (中文(简体) ), `utils`, (中文(简体) ), `clients`,以及 `integrations` 符合和属于哪个层次的任务,读取 [开始](https://npmcn.com/package/%40babylonlabs-io/ts-sdk/docs/get-started/README.md) 向导.

## 文档

### 从这里开始

-   **[开始](https://npmcn.com/package/%40babylonlabs-io/ts-sdk/docs/get-started/README.md)** ——5分钟取向:什么是TBV,SDK的地层布局,先决条件,配置来源,词汇表,地库寿命周期,以及决定表将你引向正确的快速启动. **如果你是新来的,先读这个.**

### QQ 快速启动

分步辅导:

-   **[管理员快速启动](https://npmcn.com/package/%40babylonlabs-io/ts-sdk/docs/quickstart/managers.md)** - 创建带有钱包集成的比特币金库(分步骤)
-   **[初级程序快速启动](https://npmcn.com/package/%40babylonlabs-io/ts-sdk/docs/quickstart/primitives.md)** - 建立有自定义签名逻辑的金库PSBT(先进)

### 指南

-   **[钱包接口](https://npmcn.com/package/%40babylonlabs-io/ts-sdk/docs/guides/wallet-interfaces.md)** - 将任何BTC/ETH钱包(浏览器、节点、KMS/HSM)适用于SDK的接口

### QQ 应用程序集成

在 DeFi 协议和应用程序中使用 BTC 金库 :

-   **保存 v4** - 利用金库作为抵押贷款资产
    -   [概览和 API 参考](https://npmcn.com/package/%40babylonlabs-io/ts-sdk/docs/integrations/aave/README.md)
    -   [快速启动指南](https://npmcn.com/package/%40babylonlabs-io/ts-sdk/docs/integrations/aave/quickstart.md)

### API 参考

使用 TSDoc 注释自动生成 [类型文件](https://typedoc.org/)数字 :

-   **[API 参考](https://npmcn.com/package/%40babylonlabs-io/ts-sdk/docs/api/README.md)** - 完成自动生成的API文档

### \* 解决问题

-   **[解决问题指南](https://npmcn.com/package/%40babylonlabs-io/ts-sdk/docs/get-started/troubleshooting.md)** - 共同问题和解决办法

## 链接

-   [GitHub 仓库](https://github.com/babylonlabs-io/babylon-toolkit)
-   [报告一个问题](https://github.com/babylonlabs-io/babylon-toolkit/issues)
-   [国家防范机制一揽子计划](https://www.npmjs.com/package/@babylonlabs-io/ts-sdk)
-   [贡献指南](https://npmcn.com/package/%40babylonlabs-io/ts-sdk/CONTRIBUTING.md)

## 常见问题

### @babylonlabs-io/ts-sdk 是什么？

巴比伦协议集成 TypeScript SDK

### 如何安装 @babylonlabs-io/ts-sdk？

在项目目录运行 npm install @babylonlabs-io/ts-sdk，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：viem（^2\.38\.2）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @babylonlabs-io/ts-sdk 支持 TypeScript 吗？

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

### @babylonlabs-io/ts-sdk 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @babylonlabs-io/ts-sdk 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20\.3\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @babylonlabs-io/ts-sdk 可以商用吗？

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

### @babylonlabs-io/ts-sdk 的下载量有多少？

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

### @babylonlabs-io/ts-sdk 还在维护吗？

最新版本 8\.3\.3 发布于 2026/11/05（2 天前）；至今共发布 188 个版本，其中过去 12 个月发布了 188 个；首次发布于 2025/11/17。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

