# @bsv/wallet-toolbox-mobile 中文文档

规范地址：https://npmcn.com/package/%40bsv/wallet-toolbox-mobile/

版本：2\.15\.3
npm 元数据更新时间：2026-11-05T04:41:59.546Z
中文译文更新时间：2026-11-08T17:33:26.413Z
软件包许可：SEE LICENSE IN LICENSE\.txt

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

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

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

- 包体积（解压后）：12.2 MB，15 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=22
- 运行依赖：4 个
- peer 依赖：@bsv/sdk ^2\.8\.0 \|\| ^3\.0\.0 \|\| ^4\.0\.1
- 首次发布：2025-05-06T21:43:12.513Z
- 最新版本发布：2026-11-05T04:41:59.134Z
- 近 30 天下载量：5091（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：209（近 12 个月 130 个）

## 中文简介

反应原生和移动安全 BRC-100 钱包、签名器和远程存储组件

## 安装

```sh
npm install @bsv/wallet-toolbox-mobile
```

也可以使用：`pnpm add @bsv/wallet-toolbox-mobile`、`yarn add @bsv/wallet-toolbox-mobile`、`bun add @bsv/wallet-toolbox-mobile`

## README

# @bsv/wallet-工具箱-移动

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

移动式建筑 [`@bsv/wallet-toolbox`](https://www.npmjs.com/package/@bsv/wallet-toolbox) - 参考文献 [BRC-100号卫星](https://github.com/bitcoin-sv/BRCs/blob/master/wallet/0100.md) 钱包执行。 它提供移动安全钱包,签名器,服务,监视器,以及远程存储API,不包含Knex,SQLite/MySQL本土绑定,索引DB,或只包含节点 IO.

远程 `StorageClient` 电话接受 `authFetchOptions` 现有第三个 构造者论证. 对于更长时间的认证请求,请同时配置 `requestTimeoutMs` 财务报告和审定财务报表 `responseTimeoutMs` 与支持后者的SDK. 排除保留已安装的 SDK 默认值; 已存在的 SDK 对等范围 消费者的电话不变。 见 [远程存储超时指南](https://github.com/bsv-blockchain/ts-stack/tree/main/packages/wallet/wallet-toolbox#remote-storage-timeouts)。 。 。 .

在 :

-   反应原生应用程序
-   电容/ Cordova 移动应用程序
-   其他移动运行时间 `fetch`,Web Crypto,以及所需的网络兼容全球

用于节点服务器 [`@bsv/wallet-toolbox`](https://www.npmjs.com/package/@bsv/wallet-toolbox)。对于浏览器,使用 [`@bsv/wallet-toolbox-client`](https://www.npmjs.com/package/@bsv/wallet-toolbox-client)。 。 。 .

## 当地复原能力边界

协调的2.1.5.0源候选人保留了这个包装器现有的API 和SDK对等范围。 Core 新的本地 SQLite 动作/供资回收控制器 它们是独立的节点深度进口;该套件不捆绑或暴露它们. 升级不会给索引数据库、移动存储或远程存储提供持久操作 日记。 一般的BRC-100方法保留了它们现有的行为.

当主机单独采用核心回收时,保持整体一致性 钱包数据库和密钥。 普通实体输出/同步不包括这些 辅助日记. 调和尚未完成的核心业务后再退; 包装重试或新付款不能取代保留回收状态. 见 [当地恢复指南](https://bsv-blockchain.github.io/ts-stack/guides/local-action-recovery/)。 。 。 .

## 接收已播出的付款

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

远程SQL存储也需要2.14.9存储迁移和协调 服务器推出:一个耐用用户/TXID 声明将不同机舱的收据序列化,同时 保存历史行。 没有公共API或 需要电线迁移。 原始版本在出版前都是候选人 通过被保护的发布工作流程; 仅更新一个应用程序不 升级其远程存储服务器.

## BRC- 100 结果相容性

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

## 备份和复原

BRC- 100 钱包既需要可收回的密钥,也需要钱包记录/开发 元数据。 BRC- 39 导出包含钱包数据,而不是根密钥或管理器快照. App去除或设备丢失可以去除当地保留的秘密并声明. 在替换设备上测试独立的密钥和数据回收路径.

读取 [钱包备份和回收](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/%40bsv/docs/sync-transfer.md)。 。 。 .

## 安装

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

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

## 一揽子目标

该套装发布:

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

被打包的包被Metro验证,并编译来优化Hermes字节码. 已公布的工具和贡献工作流程需要节点(Node.js 22)或更新,而不是作为在线设备运行时间.

### 不使用Web Assembly 程序获取密码

Argon2id 密码衍生用途 `hash-wasm` 当WebAssembly可用时. 反应原生引擎如不曝光WebAssembly使用 以相同的参数同步生成 JavaScript 回落 输出。 现有的 UMP v3 钱包仍然兼容,用户不需要 更改设备设置或迁移账户.

### 可选本地 Argon2id 后端

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

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

## 远程存储示例

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

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

// Remote storage over HTTPS is the default mobile-safe backend.
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)

const { tx } = await wallet.createAction({
  description: 'mobile send',
  outputs: [{ satoshis: 1000, lockingScript: recipientScript }]
})
```

移动钱包包括内置的 BRC-177 `p nosend expiry` 模块。 内容 活动远程存储必须运行迁移的钱包工具箱2.11-或更新服务 和默认显示器,它拥有跨重启和设备的过期执行. 能力谈判在针对一个更老的服务器预先供资前失败 。 见 [完整过期指南](https://npmcn.com/package/%40bsv/docs/no-send-expiry.md)。 。 。 .

## 使用大小写

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

### 手机上的自控BSV钱包

运行 BRC-100 钱包完全安装在设备上,并有远程存储以进行交叉设备同步.

### 桌面钱包的辅助应用程序签名器

在桌面运行更重的服务时, 将移动作为对接频道的签名符 .

### 仅接收移动应用程序

通过远程存储后端, 打开一个最小的钱包, 监视入境付款 .

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

| 不包括 | 为什么 |
| --- | --- |
| `StorageKnex` (SQLite, MySQL) (英语) | 在 React Industrial / Mobile Web vision 上找不到本地约束 |
| `StorageIdb` | IndexedDB 不是一个统一的 React 原生存储原始 |
| 仅节点文件系统及 `os` 帮助者 | 无法移动 |

移动条目包括: `Wallet`, (中文(简体) ), `WalletSigner`, (中文(简体) ), `WalletStorageManager`移动 `StorageClient`, (中文(简体) ), `Services`, (中文(简体) ), `Monitor`, (中文(简体) ), `WalletPermissionsManager`, (中文(简体) ), `WalletSettingsManager`, (中文(简体) ), `ArcSSEClient`,以及相关的移动安全API. 它不导出 `StorageIdb`, (中文(简体) ), `StorageKnex`, (中文(简体) ), `SetupClient`,或者仅测试链执行.

## 钱包快照安全

钱包管理快照包含根关键材料,并有意包括 解密键的自定义格式,所以访问 快照是访问钱包。 将完整的快照存储在 iOS 键链中, Android Keystore 后置加密存储器,或可比较信任的秘密存储器. 别 使用普通 AsyncStorage、日志、分析、崩溃报告、剪贴板数据或 无防护装置/云层备份. 处理任何信任的快照 存储为钱包证书的折中,并旋转受影响的钱包.

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

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

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

## CORS、CSP和公共服务

此客户端没有强制实施来源许可列表 。 原生移动请求不受浏览器 CORS 管理,而WebView 和混合客户端则可以. 远程存储服务仍应通过其预定的公共应用软件WUI、浏览器、扩展和移动呼叫器获得。 操作员可以默认地保留公共访问,或者在部署需要时配置一个明确的许可列表;部署不应该假设一个呼叫域.

CSP适用于Web vision或其他嵌入式网络应用程序. 将服务中的 HTTPS 来源添加到消费应用程序中 `connect-src` 政策。 将认证和授权保留在协议/服务层,而不是将CORS作为认证机制.

## 捐助者检查

从寄存器根起,在运行已安装的消费者移动门前先构建 SDK 和软件包 :

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

闸口在清洁工程中安装被包装的包件,与地铁捆绑,检查公共出口和移动安全模块合同,验证出源地图,与赫尔墨斯一起编译结果,执行压缩和未压缩大小预算.

经审查的2.14.2名身份候选人 `b088c1bef` 地铁措施 **2 379 919 / 612 262页 462,261 (韩语)** 字节和 Hermes **4 629 563 / 1 943 675 / 1 510 174** 字节 (raw/gzip/Brotli) (英语). 与先前未公布的2.14.2候选人相比, Metro gzip增长3,553字节(0.58%). 这是所需的 SDK/工具箱 身份匹配器、便携式文本标识和直接过滤器守卫;无新 采用了依赖、节点适配器或公共出口。 包装的消费者 通过模块/运行时间构成和源图检查并编译为 赫尔墨斯 已编制的预算至少保留了10%的经审查的会议室以上 测量,四舍五入到5000字节,遵循共享文物政策. 所有组成和字节划分的大门仍然执行.

## 许可证

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

## WAB 水龙头费兼容性

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

## 重建前冲突恢复

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

## SDK4 热补丁对等要求

SDK4 对等替代开始于 `@bsv/sdk ^4.0.1`,恢复数字 钱包结果和遗留线条相容性。 现有的SDK2/3替代品和 下限不变。 SDK4 用户应安装 4. 0.1 个热补丁; 不 需要应用程序-wallet线或数据迁移.

## 常见问题

### @bsv/wallet-toolbox-mobile 是什么？

反应原生和移动安全 BRC-100 钱包、签名器和远程存储组件

### 如何安装 @bsv/wallet-toolbox-mobile？

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

### @bsv/wallet-toolbox-mobile 支持 TypeScript 吗？

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

### @bsv/wallet-toolbox-mobile 支持 ESM 还是 CommonJS？

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

### @bsv/wallet-toolbox-mobile 需要什么版本的 Node\.js？

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

### @bsv/wallet-toolbox-mobile 可以商用吗？

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

### @bsv/wallet-toolbox-mobile 的下载量有多少？

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

### @bsv/wallet-toolbox-mobile 还在维护吗？

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

