用途:以编程方式创建、配置和管理 1Sat 钱包,适用于 Node.js/Bun、浏览器(扩展、网页应用)或瘦客户端环境。
包选择:@1sat/wallet-node 用于 Node.js/Bun,本地存储为 SQLite(StorageBunSqlite 或 StorageKnex);@1sat/wallet-browser 用于浏览器,本地存储为 IndexedDB(StorageIdb);@1sat/wallet-remote 用于瘦客户端,无本地存储,远程为唯一存储;@1sat/wallet 为上述包共用的核心工厂。仅在明确不需要本地存储时选 wallet-remote,其余(含扩展)选对应环境包。
核心配置:所有工厂共用 WalletCoreConfig,字段包括 privateKey(PrivateKey、WIF 或 64 位十六进制)、chain('main' 或 'test')、feeModel(默认 { model: 'sat/kb', value: 100 })、activeRemote、backups、onTransactionBroadcasted、onTransactionProven、connectionTimeout(默认 5000)、backupSyncIntervalMs(默认 5 分钟,0 禁用)、onStoragePaymentRequired、taskStateStore、servicesBaseUrl。storageIdentityKey 属于本地存储包装器(wallet-node、wallet-browser),须每次安装唯一并持久化,不可硬编码。activeRemote 未设置时本地为活动存储;设置后该远程为活动存储,本地自动作为备份。
用法:Node 用 createNodeWallet,storage 可选 bun-sqlite(默认)或 pg;浏览器用 createWebWallet,可配 createIndexedDbTaskStateStore 与 onMonitorEvent;远程用 createRemoteWallet,activeRemote 必填。创建后可用 setActiveStorage 切换活动存储、addRemote 注册非活动备份;无 removeRemote。工厂在创建时与每次成功广播后调用 updateBackups() 同步备份。Monitor 始终创建,本地为活动存储时创建即触发一次 runOnce();长驻进程可在唤醒事件时再调用 runOnce(),浏览器中不要调用 startTasks()。地址同步由 @1sat/actions 的 syncAddresses 完成,@1sat/wallet 仅提供 AddressManager 等被动辅助。余额通过 wallet.balance() 获取,返回聪数,空钱包为 0,不抛错。文件备份/恢复基于 fflate 的流式 ZIP。安装命令:bun add @1sat/wallet-node、bun add @1sat/wallet-browser、bun add @1sat/wallet-remote。
限制:资料未提供收费、价格与平台支持范围等信息;部分内容(如 @1sat/vault 段落)在资料中不完整,暂未提供完整说明。