# @bopen-io/wallet-toolbox-client 中文文档

规范地址：https://npmcn.com/package/%40bopen-io/wallet-toolbox-client/

版本：2\.15\.3
npm 元数据更新时间：2026-11-04T17:19:06.451Z
中文译文更新时间：2026-11-08T11:36:02.516Z
软件包许可：SEE LICENSE IN LICENSE\.txt

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

原始 npm 页面：https://www.npmjs.com/package/%40bopen-io/wallet-toolbox-client
原文对照：https://npmcn.com/package/%40bopen-io/wallet-toolbox-client/?lang=original
项目主页：https://github.com/bsv-blockchain/ts-stack/tree/main/packages/wallet/wallet-toolbox/client#readme
源码仓库：https://github.com/shruggr/ts-stack

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

- 包体积（解压后）：12.9 MB，15 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=22
- 运行依赖：3 个
- peer 依赖：@bsv/sdk ^2\.8\.0 \|\| ^3\.0\.0 \|\| ^4\.0\.0
- 首次发布：2026-01-08T18:28:09.723Z
- 最新版本发布：2026-11-04T17:19:06.239Z
- 近 30 天下载量：6920（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：27（近 12 个月 27 个）

## 中文简介

临时重新包装@bsv/wallet-toolbox-客户端 2.1.5 (bsv-blockchain/ts-stack de02e9596) 有bsv-blockchain/ts-stack #1487:许可管理器的净开支计算输入和输出许可模块附件

## 安装

```sh
npm install @bopen-io/wallet-toolbox-client
```

也可以使用：`pnpm add @bopen-io/wallet-toolbox-client`、`yarn add @bopen-io/wallet-toolbox-client`、`bun add @bopen-io/wallet-toolbox-client`

## README

# @bsv/wallet-toolbox-客户端

[![npm version](https://img.shields.io/npm/v/@bsv/wallet-toolbox-client)](https://www.npmjs.com/package/@bsv/wallet-toolbox-client) [![npm downloads](https://img.shields.io/npm/dm/@bsv/wallet-toolbox-client)](https://www.npmjs.com/package/@bsv/wallet-toolbox-client)

浏览器构建 [`@bsv/wallet-toolbox`](https://www.npmjs.com/package/@bsv/wallet-toolbox) - 参考文献 [BRC-100号卫星](https://github.com/bitcoin-sv/BRCs/blob/master/wallet/0100.md) 钱包执行。 它提供浏览器安全钱包,签名器,服务,显示器,本地索引DB,以及远程存储API,没有完整的软件包的节点存储适配器.

在 :

-   对远程说话的 Web 应用程序 `StorageServer`
-   浏览器扩展
-   电子渲染器

用于节点服务器 [`@bsv/wallet-toolbox`](https://www.npmjs.com/package/@bsv/wallet-toolbox)。用于反应原生/移动,使用 [`@bsv/wallet-toolbox-mobile`](https://www.npmjs.com/package/@bsv/wallet-toolbox-mobile)。 。 。 .

## 接收已播出的付款

2.14.9 源头候选人即使存储也完成广播结果 已标记请求 `unmined` 或者说 `completed`。此定义第一次收款 在共享存储上没有采矿证据,在另一个存储时,结果路径相同 在广播结果刷新之前,存储器工人会提前提交请求。 这个 存储的高级状态保持不变;提供方结果仍未成功 拒绝收货,不贷记新的收款产出。 重复成功 实收仍为一能. 以下付款附有其有效的采矿证明 未重播的现有证明路径.

远程SQL存储也需要2.14.9存储迁移和协调 服务器推出:一个耐用用户/TXID 声明将不同机舱的收据序列化,同时 保存历史行。 浏览器的本地索引DB 提供者不 使用SQL索赔。 没有公开的 API 或电线迁移 需要时间。 原始版本是候选人,直到通过 保护发布工作流程; 仅更新一个应用程序不会升级其远程 存储服务器.

## BRC- 100 结果相容性

2.14.1版本不公开内部精确支出会计 `createAction` 结果,在钱包操作后修正严格的二进制桥接失败 保留收费和服务费授权。 更新钱包和权限 管理者一起。 现有的 JSON 桥,删除内部元数据保留其 行为;不需要应用程序、BRC-39或账户恢复迁移。 检查 钱包历史,然后重试旧主机的响应失败的动作.

## 备份和复原

BRC- 100 钱包既需要可收回的密钥,也需要钱包记录/开发 元数据。 BRC- 39 导出包含钱包数据,而不是根密钥或管理器快照. IndexedDB可随浏览器配置文件被移除或丢失. 保持独立 数据复制和测试一个干净的剖面.

读取 [钱包备份和回收](https://bsv-blockchain.github.io/ts-stack/guides/wallet-backup-recovery/), (中文(简体) ), [BRC-38/39 一体化](https://bsv-blockchain.github.io/ts-stack/guides/wallet-data-portability/) 编辑 [回收清单](https://bsv-blockchain.github.io/ts-stack/guides/wallet-recovery-drill/)。 。 。 . 手提式助工需要当地混凝土 `StorageProvider`; 一个远程客户端 不是一个。 在添加前限定本地复制路径和设备内存限制 进出口UI.

## 大型钱包记录

兼容供应商谈判经认证、完整性检查的转让 超过单个 HTTP 信件的记录。 上传后恢复已保存的部件 中断;普通页面和遗留提供者保留其现有的协议. 第1版被限定为每帧64个米B并需要升级的提供商. 见 [转让和移徙指南](https://npmcn.com/package/%40bopen-io/docs/sync-transfer.md)。 。 。 .

## 安装

安装 `@bsv/sdk` 与此软件包相邻的对等依赖 :

```bash
npm install @bsv/wallet-toolbox-client @bsv/sdk
```

## 一揽子目标

该套装发布:

-   有源图的无害环境管理浏览器/进口目标;
-   a 普通JS要求有源地图的目标;
-   (a) 使无害环境管理和共同司法制度的声明相匹配;
-   明确 `browser`, (中文(简体) ), `import`,以及 `require` 出口条件.

使用Vite 或 esbuild 等当前浏览器捆绑器 。 发布的工具和贡献者工作流程需要Node.js 22或更新;浏览器运行时间支持由您应用程序的目标配置决定.

### 可选本地 Argon2id 后端

导入 `registerArgon2idBackend`, (中文(简体) ), `unregisterArgon2idBackend`,则 `AsyncArgon2idBackend` 键。 注册主机 只有在核实其互操作性之后才能实施; `isReady()` 必须 在核查成功之前,始终是虚假的。 现成的后端具有权威性: 衍生出的错误和错误的输出被浮出水面而不切换执行.

同时期的寒冷衍生物有一个背景 `preload()` 尝试并保留 便携路径。 以后的电话可以在尝试解决后重新尝试。 主机必须 生产 `preload()` 财务报告和审定财务报表 `isReady()` 重复和缓存永久失败或应用 备份。 当主机不再拥有后端对象时解除其注册.

## 远程存储示例

```ts
import { Wallet, WalletSigner, WalletStorageManager, StorageClient, Services } from '@bsv/wallet-toolbox-client'
import { KeyDeriver, PrivateKey } from '@bsv/sdk'

const chain = 'main'
const keyDeriver = new KeyDeriver(new PrivateKey(privateKeyHex, 'hex'))

// Remote storage over HTTPS — no SQLite/MySQL in the browser bundle.
const storageManager = new WalletStorageManager(keyDeriver.identityKey)
await storageManager.addWalletStorageProvider(new StorageClient(keyDeriver, 'https://storage.example.com'))
await storageManager.makeAvailable()

const services = new Services(chain)
const signer = new WalletSigner(chain, keyDeriver, storageManager)
const wallet = new Wallet(signer, services)

// Use the BRC-100 interface as usual.
const { tx } = await wallet.createAction({
  description: 'pay alice',
  outputs: [{ satoshis: 1000, lockingScript: aliceP2PKH }]
})
```

## 使用大小写

### 浏览器扩展名内的 BRC- 100 钱包

跟遥控器说话 `StorageServer` 在 HTTPS 上, 用用户控制键在本地签名 .

### 认证应用 `WalletClient`

```ts
import { WalletClient } from '@bsv/sdk'

const wallet = new WalletClient() // delegates to the user's installed wallet
// ...or build your own with the toolbox classes above
```

### 对照索引数据库运行嵌入式钱包

```ts
import { StorageIdb } from '@bsv/wallet-toolbox-client'
await storageManager.addWalletStorageProvider(new StorageIdb(...))
```

索引数据库 `listOutputs` 结果保持 `totalOutputs` 等于完全匹配 每个页面的倒数,包括一个简短的最后页或一个在或过去时的冲抵 结束.

已准备好的BEEF(COOK)持久性是一种服务器侧Knex能力. 浏览器 IndexedDB 保留 Canonical BEEF 路径,同时兼容远程存储 服务器可以在没有浏览器配置的情况下启用已准备的读取和写入,或者 线条格式变化.

浏览器钱包包括内置的 BRC-177 `p nosend expiry` 模块. 嵌入式索引DB钱包使用默认本地显示器. 远程存储时 正在运行中, 它已迁移的钱包工具箱2. 11 或更新服务, 并自行监视 到期执行; 能力谈判在对一项合同的预先供资之前失败 旧服务器 。 见 [完整过期指南](https://npmcn.com/package/%40bopen-io/docs/no-send-expiry.md)。 。 。 .

## 被排除在外的对 `@bsv/wallet-toolbox`

| 不包括 | 为什么 |
| --- | --- |
| `StorageKnex` (SQLite, MySQL) (英语) | 拖动本地绑定; 不保护浏览器 |
| 只有节点的文件系统帮助器 | 浏览器中不可用 |

浏览器条目包括 `Wallet`, (中文(简体) ), `WalletSigner`, (中文(简体) ), `WalletStorageManager`, (中文(简体) ), `StorageClient`, (中文(简体) ), `StorageIdb`, (中文(简体) ), `Services`, (中文(简体) ), `Monitor`, (中文(简体) ), `WalletPermissionsManager`, (中文(简体) ), `WalletSettingsManager`,以及相关的浏览器安全 API. 它并不保证每一份完整的包装或只试验出口.

## 钱包快照安全

钱包管理快照包含根关键材料,并有意包括 解密键的自定义格式,所以访问 快照是访问钱包。 仅通过浏览器存储完整的快照或 由 OS 键链或可比较信任的秘密商店支持的扩展设施. 不要使用普通本地Storage、日志、分析、崩溃报告、剪贴板 数据,或无防护同步。 处理任何信任的快照 存储为钱包证书的折中,并旋转受影响的钱包.

`StorageClient` 和具有证书的拱廊SSE客户端需要 HTTPS 远程终点。 Plain HTTP 仅被接受为明确的回放主机 作为 `localhost` 在开发期间。 SSE 依赖调试日志已禁用, 因此 调用回信符和授权信头不能到达应用程序日志.

见 [`@bsv/wallet-toolbox`](https://www.npmjs.com/package/@bsv/wallet-toolbox) 完整文档读取.

## CORS、CSP和公共服务

此客户端没有强制实施来源许可列表 。 远程存储服务控制着自己的CORS政策,并且应当保持其预定的公共网络、WUI、扩展和移动客户端的可访问性。 操作员可以默认地保留公共访问,或者在部署需要时配置一个明确的许可列表;部署不应该假设一个呼叫域.

CSP是一个应用和部署问题,而不是一个包级访问控制. 将服务中的 HTTPS 来源添加到消费应用程序中 `connect-src` 政策。 将认证和授权保留在协议/服务层,而不是将CORS作为认证机制.

## 捐助者检查

最终重叠身份发现副本 绑定解析器收据,核实 配置钱包的完整交易图和条形锚 服务链跟踪器,并验证标准主体签名证书 信封上写着 在使用前重新检查已缓存的交易证据; 本地联系人 保留各自的政策。 见 [身份核查指南](https://npmcn.com/package/%40bopen-io/docs/identity-verification.md) c01/C02/C03 兼容性定性和限制。 包含不是 证明新鲜或未用。 当前包装和包装消费者 核证工作仍有待审查.

从寄存器根开始,在运行已安装的消费者浏览器门之前先构建 SDK 和软件包 :

```bash
pnpm --filter @bsv/sdk build
pnpm --filter @bsv/wallet-toolbox-client build
pnpm --filter @bsv/wallet-toolbox-client test:browser
```

闸门在清洁工程中安装被包装的包,用Vite和esbuilt来捆绑,检查公共输出和只使用浏览器的模块合同,验证出源地图,执行压缩和不压缩的大小预算.

## 许可证

此软件包将在 [打开 BSV 许可证版本 6](https://npmcn.com/package/%40bopen-io/wallet-toolbox-client/LICENSE.txt)。 。 。 . 随行 [第三次议会 NoTICES.md](https://npmcn.com/package/%40bopen-io/wallet-toolbox-client/THIRD_PARTY_NOTICES.md) 财务报告和审定财务报表 [属性/](https://npmcn.com/package/%40bopen-io/wallet-toolbox-client/LICENSES/) 保存早先编入 浏览器构建.

### 本地同步数据库升级

IndexedDB 自动升级到 schema 第 6 版, 添加一个非独有 不替换钱包记录的交易ID/用户索引。 准确的交易, 参考、回收、佣金和关系检查避免重复的全页 恢复时扫描 。 遗留的重复交易身份证保持不变。 客户 请求旧的索引数据库计划版本不能重新打开该数据库; 使用本地备份时保留相容客户端 .

## WAB 水龙头费兼容性

2.14.6版本载有当地签字人独立验证的费用/更改 通过权限管理器输出到 SDK 完成动作绑定 。 升级 带有 SDK 曝光 `completeBoundAction.outputAuthorizationVersion=1`; 较旧的 SDK 同龄人保持严谨的行为,不享受有价水龙头 修复。 使用同一软件包实例的钱包和认证管理器 . 串行结果丢弃本地授权. 参见完整的工具箱 README SDK3迁移和不变的注册重试/和解限制.

## 重建前冲突恢复

2.14.7 候选保存远程存储器的空尝试-TXID sentinel 仅用于交易构建前的限值双支出审查. 没错 不授权重试。 应用程序必须核实完整的相竞交易 与请求的明确输入相对应,同步被接受的赢家,然后 在重建前读取新状态。 将应用程序 SDK 与 钱包解析器。 使用现有的 JSON 钱包 API 用于结构化审查错误 ; 二进制线格式不变。 不需要数据库或呼叫迁移.

## 常见问题

### @bopen-io/wallet-toolbox-client 是什么？

临时重新包装@bsv/wallet-toolbox-客户端 2\.1\.5 \(bsv-blockchain/ts-stack de02e9596\) 有bsv-blockchain/ts-stack \#1487:许可管理器的净开支计算输入和输出许可模块附件

### 如何安装 @bopen-io/wallet-toolbox-client？

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

### @bopen-io/wallet-toolbox-client 支持 TypeScript 吗？

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

### @bopen-io/wallet-toolbox-client 支持 ESM 还是 CommonJS？

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

### @bopen-io/wallet-toolbox-client 需要什么版本的 Node\.js？

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

### @bopen-io/wallet-toolbox-client 可以商用吗？

@bopen-io/wallet-toolbox-client 使用 SEE LICENSE IN LICENSE\.txt 许可。许可条款写在包内的独立文件中，请阅读该文件确认可否商用。以上为概括，不构成法律意见，请以许可原文为准。

### @bopen-io/wallet-toolbox-client 的下载量有多少？

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

### @bopen-io/wallet-toolbox-client 还在维护吗？

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

