# @bitcoindevkit/bdk-wallet-web 中文文档

规范地址：https://npmcn.com/package/%40bitcoindevkit/bdk-wallet-web/

版本：0\.4\.0
npm 元数据更新时间：2026-10-29T14:30:02.101Z
中文译文更新时间：2026-11-08T04:16:38.827Z
软件包许可：MIT OR Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40bitcoindevkit/bdk-wallet-web
原文对照：https://npmcn.com/package/%40bitcoindevkit/bdk-wallet-web/?lang=original
项目主页：https://github.com/bitcoindevkit/bdk-wasm#readme
源码仓库：https://github.com/bitcoindevkit/bdk-wasm

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

- 包体积（解压后）：2.4 MB，9 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2025-08-25T17:59:02.033Z
- 最新版本发布：2026-10-29T14:30:01.580Z
- 近 30 天下载量：10917（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：3（近 12 个月 2 个）

## 中文简介

WebAssembly 为浏览器和节点提供现代、轻量级、基于描述的钱包库

## 安装

```sh
npm install @bitcoindevkit/bdk-wallet-web
```

也可以使用：`pnpm add @bitcoindevkit/bdk-wallet-web`、`yarn add @bitcoindevkit/bdk-wallet-web`、`bun add @bitcoindevkit/bdk-wallet-web`

## README

# Bitcoin Dev Kit: 网络大会

![](https://npmcn.com/package/%40bitcoindevkit/bdk-wallet-web/static/bdk.png)

**Bitcoin Dev Kit 供浏览器节点和土著反应使用**

[![NPM Package (Web)](https://img.shields.io/npm/v/@bitcoindevkit/bdk-wallet-web.svg)](https://www.npmjs.com/package/@bitcoindevkit/bdk-wallet-web) [![NPM Package (Node)](https://img.shields.io/npm/v/@bitcoindevkit/bdk-wallet-node.svg)](https://www.npmjs.com/package/@bitcoindevkit/bdk-wallet-node) [![MIT or Apache-2.0 Licensed](https://img.shields.io/badge/license-MIT%2FApache--2.0-blue.svg)](https://github.com/bitcoindevkit/bdk-wasm/blob/main/LICENSE-MIT) [![Rustc Version 1.88.0+](https://img.shields.io/badge/rustc-1.88.0%2B-lightgrey.svg)](https://blog.rust-lang.org/2025/06/26/Rust-1.88.0/) [![Chat on Discord](https://img.shields.io/discord/753336465005608961?logo=discord)](https://discord.gg/d7NkDKm)

## 关于

这个 `bdk-wasm` 图书馆旨在提供访问优秀的 [比特币DevKit](https://github.com/bitcoindevkit/bdk) (以及任何支持WebAssembly的设备). 它专门编译BDK `wasm32-unknown-unknown` 目标与使用 [`wasm-bindgen`](https://github.com/rustwasm/wasm-bindgen) 以创建 TypeScript 绑定.

这回波处理包装和出版 `bdk-wallet-web` (用于浏览器)和 `bdk-wallet-node` (针对节点.js)国家防范机制一揽子计划,使用 `wasm-pack`。 。 。 .

此库提供所有想要的功能, 用于在框外构建比特币钱包 :

-   UTXO 管理系统
-   硬币选择
-   通过同步和扫描链条数据来提升钱包
-   Bitcoin在定义支出条件时为灵活性做了描述. 支持从遗产到Taproot的所有地址类型.
-   国家最新情况和持久性
-   交易的创建、签署和广播
-   动态地址
-   还要多得多

关于提供无国籍公用功能的轻量级图书馆,参见 [`bitcoinjs`](https://github.com/bitcoinjs/bitcoinjs-lib)。 。 。 .

## 安装

### 浏览器/网络

```sh
yarn add @bitcoindevkit/bdk-wallet-web
```

### 节点.js

```sh
yarn add @bitcoindevkit/bdk-wallet-node
```

## 关于WASM具体考虑因素的说明

> \[尖叫声\] 在WASM中使用BDK有几个限制. 基本上任何需要OS标准库的功能都不直接在WASM中提供. 不过,下面有可行的变通办法。 一些关键限制包括:
> 
> -   无法访问文件系统
> -   网络访问限于 http(s)

### WASM 考虑概述

#### 无法访问文件系统

由于无法直接访问文件系统,持久性无法由BDK直接处理. 相反,在WASM环境中必须使用内存钱包,并且必须使用 `wallet.take_staged()`。 这将导出钱包状态更新的更改器, 然后必须合并到 JS 的当前钱包状态( 取决于您的持续策略 ) 。 顽固不化 `ChangeSet` 可以传递给 `wallet.load()` 以收回钱包.

#### 网络访问限于 http(s)

这基本上意味着库只支持 [埃斯波罗拉](https://github.com/blockstream/esplora/blob/master/API.md) 作为块链客户端. RPC和Electrum客户端都需要套接字,不会在盒外WASM环境中为BDK工作.

## 发展环境

### 所需资源

-   安装 [锈](https://www.rust-lang.org/tools/install)
-   安装 [包装](https://rustwasm.github.io/wasm-pack/installer/)

#### MacOS 特殊要求

指 [本节](https://npmcn.com/package/%40bitcoindevkit/bdk-wallet-web/DEVELOPMENT.md#build-on-macos)。 。 。 .

### 以 `wasm-pack build`

> \[大 你需要那个 `wasm32-unknown-unknown` 要安装的工具链 :
> 
> ```sh
> rustup target add wasm32-unknown-unknown
> ```

要构建浏览器/网络:

```sh
wasm-pack build --target bundler --features "esplora"
```

为Node.js建造:

```sh
wasm-pack build --target nodejs --all-features
```

### 无头浏览器中的测试 `wasm-pack test`

```sh
wasm-pack test --headless --firefox
```

> 与 `--firefox`, (中文(简体) ), `--chrome` 或者说 `--safari`。 。 。 .

## 许可证

根据其中任何一项颁发的许可证

-   Apache 许可证,2.0版本, ([自由主义](https://npmcn.com/package/%40bitcoindevkit/bdk-wallet-web/LICENSE-APACHE) 或者说 [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)(中文(简体) )
-   麻省理工学院许可证[利马](https://npmcn.com/package/%40bitcoindevkit/bdk-wallet-web/LICENSE-MIT) 或者说 [https://opensource.org/licenses/MIT (中文(简体) )](https://opensource.org/licenses/MIT)(中文(简体) )

随便你.

### 捐款

除非你们另有明确声明,否则任何捐款都是有意的 按照Apache-2.0的定义提交供您纳入工作 许可证,应具有上述双重许可证,不附加任何条件 条件.

## 常见问题

### @bitcoindevkit/bdk-wallet-web 是什么？

WebAssembly 为浏览器和节点提供现代、轻量级、基于描述的钱包库

### 如何安装 @bitcoindevkit/bdk-wallet-web？

在项目目录运行 npm install @bitcoindevkit/bdk-wallet-web，或使用 pnpm add / yarn add / bun add。

### @bitcoindevkit/bdk-wallet-web 支持 TypeScript 吗？

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

### @bitcoindevkit/bdk-wallet-web 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @bitcoindevkit/bdk-wallet-web 可以商用吗？

@bitcoindevkit/bdk-wallet-web 使用 MIT OR Apache-2\.0 许可。可在 MIT、Apache-2\.0 中任选其一遵守。选择 MIT 时，宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @bitcoindevkit/bdk-wallet-web 的下载量有多少？

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

### @bitcoindevkit/bdk-wallet-web 还在维护吗？

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

