@bopen-io/wallet-toolbox-client

中文文档
2.15.3发布于 2026/11/05SEE LICENSE IN LICENSE.txtTypeScriptESM + CJS近 30 天下载 6920

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

中文使用文档
文档目录20 节
  1. 接收已播出的付款
  2. BRC- 100 结果相容性
  3. 备份和复原
  4. 大型钱包记录
  5. 安装
  6. 一揽子目标
  7. 可选本地 Argon2id 后端
  8. 远程存储示例
  9. 使用大小写
  10. 浏览器扩展名内的 BRC- 100 钱包
  11. 认证应用 WalletClient
  12. 对照索引数据库运行嵌入式钱包
  13. 被排除在外的对 @bsv/wallet-toolbox
  14. 钱包快照安全
  15. CORS、CSP和公共服务
  16. 捐助者检查
  17. 许可证
  18. 本地同步数据库升级
  19. WAB 水龙头费兼容性
  20. 重建前冲突恢复

@bsv/wallet-toolbox-客户端

npm version npm downloads

浏览器构建 @bsv/wallet-toolbox - 参考文献 BRC-100号卫星 钱包执行。 它提供浏览器安全钱包,签名器,服务,显示器,本地索引DB,以及远程存储API,没有完整的软件包的节点存储适配器.

在 :

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

用于节点服务器 @bsv/wallet-toolbox。用于反应原生/移动,使用 @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可随浏览器配置文件被移除或丢失. 保持独立 数据复制和测试一个干净的剖面.

读取 钱包备份和回收, (中文(简体) ), BRC-38/39 一体化 编辑 回收清单。 。 。 . 手提式助工需要当地混凝土 StorageProvider; 一个远程客户端 不是一个。 在添加前限定本地复制路径和设备内存限制 进出口UI.

大型钱包记录

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

安装

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

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() 重复和缓存永久失败或应用 备份。 当主机不再拥有后端对象时解除其注册.

远程存储示例

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

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

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

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 或更新服务, 并自行监视 到期执行; 能力谈判在对一项合同的预先供资之前失败 旧服务器 。 见 完整过期指南。 。 。 .

被排除在外的对 @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 完整文档读取.

CORS、CSP和公共服务

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

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

捐助者检查

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

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

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

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

许可证

此软件包将在 打开 BSV 许可证版本 6。 。 。 . 随行 第三次议会 NoTICES.md 财务报告和审定财务报表 属性/ 保存早先编入 浏览器构建.

本地同步数据库升级

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 共发布 27 个版本,首次发布于 2026/01/09;过去 12 个月发布了 27 个版本。

版本发布日期距今
2.15.3latest2026/11/053 天前
2.15.22026/10/2316 天前
2.15.12026/10/2216 天前
2.15.02026/10/2217 天前
2.14.82026/10/061 个月前
2.14.72026/10/041 个月前

其他发布通道:bopen → 2.15.0-bopen.2。

关于 @bopen-io/wallet-toolbox-client 的常见问题

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