功能定位:为什么保险库需要“实时日志”
SafeW 的加密保险库同时托管了 MPC 分片、DID 凭证与零知识地址簿,任何一次“签名”“恢复”“权限变更”都意味着资产或身份状态的迁移。官方在 v4.2.0 把原本只写本地数据库的审计事件改写成“实时日志流”,并接入 SafeW-Guard 风险雷达,让用户在交易被广播前就能看到谁在什么时间、用什么钥匙、对哪个地址做了什么操作。相比旧版“只能事后翻本地 SQLite”,实时日志把窗口从分钟级拉到秒级,且支持链上哈希核验,防止本地篡改。
需要特别说明的是,实时日志≠链上浏览器。它只记录“保险库内”事件,例如 MPC 分片重组、生物识别失效、社交恢复发起,而不会把链上 Transfer 事件再复述一遍;后者仍需通过区块浏览器二次核对。这样设计是为了让文件体积可控,且避免重复索引带来的性能损耗。
入口对比:三条路径谁最短
移动端(Android / iOS)
打开 SafeW → 底部导航【安全】→ 顶部卡片【保险库日志】→ 右上角“实时”开关。首次开启会弹出“是否允许推送高风险事件”,选择“允许”后,系统会在后台保持一条 WebSocket 到 SafeW 通知节点,电量消耗经验性观察与日常行情推送持平。
桌面端(macOS / Windows / Linux)
顶部菜单【Vault】→【Audit Logs】→ 右侧“Live” toggle。桌面版默认不推送系统级通知,需要手动点“Subscribe”才能把日志流转成系统通知中心消息;若你同时打开多个钱包窗口,只有首个获得订阅权,后续窗口会提示“Already subscribed in another tab”,防止重复监听。
网页控制台(web-console.safew.com)
登录后左侧【保险库】→【实时监控】→ 勾选“启用事件流”。网页端优势是可同时监听多个保险库(例如 DAO 财库与个人冷钱包),但事件流依赖浏览器本地 IndexedDB 做缓存,无痕模式会被强制禁用。
提示:如果只想临时查看,无需打开实时模式;关闭开关后,后台连接会在 15 秒内自动断开,不会常驻进程。
决策树:什么时候该开实时,什么时候用批量导出
1. 日常小额转账 → 不需要开实时,默认“每日汇总”即可。
2. 正准备做 5-of-7 多签拨款 → 提前 10 分钟打开实时,确认所有分片在线且 IP 属地无异常。
3. 社交恢复已触发 → 必须开实时,观察“RecoveryProposalCreated”事件是否立即出现,若延迟 >30 秒,经验性观察表明有节点被防火墙拦截。
4. 合规审计需要半年报表 → 用批量导出(CSV),文件含 merkle root,可匹配链上公证哈希,实时流并不保存历史,无法回滚半年前记录。
操作步骤:从开启到第一次收到事件
- 进入上述最短路径,打开“实时”开关。
- 界面会弹出“节点隐私声明”,阅读后点“同意并继续”。
- 系统生成一次性 UUID 作为客户端 ID,返回【订阅成功】。
- 此时任意满足级别“Medium”以上的事件会立即出现在列表;若列表空白,可自测:进入【设置】→【安全自检】→ 点“模拟测试事件”,应出现一条“TestEvent”记录,时间戳与本地时间误差 <2 秒。
- 若想长期保存,点右上角“⋯”→【导出】→ 选“实时流另存为 CSV”,系统会把已缓冲的 2000 条写入文件,并继续追加新事件直到你点“停止”。
警告:实时流不含私钥分片内容,仅记录“哪一片参与签名”,切勿把导出文件当成备份;丢失手机仍需用社交恢复或硬件分片才能重建保险库。
字段解释:一眼看懂每条日志在说什么
| 字段 | 示例值 | 含义 |
|---|---|---|
| eventName | KeyShareSigned | 事件类型,枚举值 42 种,官方文档可查 |
| vaultId | vlt_0x9fa… | 保险库 UUID,前 4 字节做模糊化 |
| chain | sol | 触发的链命名空间,evm/sol/ton/apt/sui |
| riskScore | 0-100 | SafeW-Guard 给出的风险分,>80 会弹交易拦截 |
| ipGeo | DE | IP 所属国家代码,若用 Tor 会显示 XX |
| merkleRoot | 0x7ac… | 事件包哈希,可在【验证】页上传 CSV 做校验 |
常见异常与回退方案
现象:打开实时后列表空白,且“订阅成功”提示未出现
可能原因:本地网络阻断 443 端口之外的外连。验证:用浏览器访问 https://api.safew.com/health,若无法返回 {"status":"ok"},即确认被拦截。回退:改用桌面端并开启“代理模式”,或切换至网页控制台并启用“事件流中继”。
现象:事件延迟高、时间戳漂移 >10 秒
经验性观察:90% 由手机省电策略导致 WebSocket 心跳被系统冻结。解决:把 SafeW 加入电池优化白名单,或改用桌面端常驻。若漂移仍 >5 秒,可在【设置】→【诊断】→【时间同步】里手动触发 NTP 对时。
现象:导出 CSV 时提示“缓存为 0 条”
说明实时开关曾短暂关闭,缓冲被清空。解决:先保持开关开启 ≥30 秒,让缓存累积到 200 条以上再导出;若急需,可按“模拟测试事件”批量制造 10 条记录,即可解锁导出按钮。
小结与展望
实时日志把保险库的内部动作从“黑盒”变成“白盒”,让高风险操作在广播前就被看见。它并不取代链上浏览器,却补上了“保险库内”这一环的透明缺口。随着 v4.3 测试网已出现“可验证延迟函数”(VDF)事件,未来日志字段可能新增vdfProof与thresholdDelay,为跨链托管提供秒级可验证窗口。如果你还没试过,不妨在下次多签前提前 10 分钟打开开关,感受一下“秒级知情”带来的安全感。
