@babylonlabs-io/ts-sdk

中文文档
8.3.3发布于 2026/11/05ISCTypeScriptESM + CJS构建来源已验证近 30 天下载 5649

巴比伦协议集成 TypeScript SDK

中文使用文档
文档目录22 节
  1. 概览
  2. 什么是无信的比特币断层?
  3. 关键特性
  4. 平台
  5. 安装
  6. 所需资源
  7. 安装
  8. loadRawTbvWasm() 删除
  9. ECC 库初始化(仅Bitcoin流量)
  10. 验证安装
  11. 软件包结构
  12. 从哪里开始
  13. 管理人员(高级别)
  14. 初级( 低等, 高级)
  15. 文档
  16. 从这里开始
  17. QQ 快速启动
  18. 指南
  19. QQ 应用程序集成
  20. API 参考
  21. * 解决问题
  22. 链接

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

Build Status npm version

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

概览

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

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

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

  • 裴进:将BTC锁入比特币上的金库,用作抵押(协议光谱(中文(简体) )
  • 弹出: 从金库将 BTC 解锁回钱包(协议光谱(中文(简体) )
  • 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, 皮革)
维姆 WalletClientcreateWalletClient({ 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 可在全球浏览器中查阅 目标——见 解决问题指南。 。 。 .

安装

所需资源

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

安装

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

pnpm add @babylonlabs-io/ts-sdk viem

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

pnpm add [email protected] @bitcoin-js/[email protected]

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

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 或获取比特币地址数字 :

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(中文(简体) ) 草率地初始化——不需要额外呼叫.

验证安装

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

找麻烦? 见 解决问题指南 用于缓冲多填充、WASM设置和捆绑器配置.

软件包结构

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

// 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 符合和属于哪个层次的任务,读取 开始 向导.

文档

从这里开始

  • 开始 ——5分钟取向:什么是TBV,SDK的地层布局,先决条件,配置来源,词汇表,地库寿命周期,以及决定表将你引向正确的快速启动. 如果你是新来的,先读这个.

QQ 快速启动

分步辅导:

指南

  • 钱包接口 - 将任何BTC/ETH钱包(浏览器、节点、KMS/HSM)适用于SDK的接口

QQ 应用程序集成

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

API 参考

使用 TSDoc 注释自动生成 类型文件数字 :

* 解决问题

版本与发布记录

@babylonlabs-io/ts-sdk 共发布 188 个版本,首次发布于 2025/11/17;过去 12 个月发布了 188 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
8.3.3latest2026/11/052 天前
8.3.22026/11/043 天前
8.3.12026/11/034 天前
8.3.02026/11/034 天前
8.2.42026/11/034 天前
8.2.32026/11/034 天前

其他发布通道:next → 0.15.4-rc-0.16.0。

关于 @babylonlabs-io/ts-sdk 的常见问题

@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 和提交记录判断。