该技能用于解释 Ledger 设备管理套件(DMK)API 的设计理由、领域模型、安全约束与取舍,让开发者理解调用背后的原因。它也会被 ledger-dmk-implementation/SKILL.md 作为连接器加载,在实现过程中遇到术语或概念时提供澄清。
用途与主要能力:说明 Clear Signing 与 Blind Signing 的区别(设备屏幕是唯一可信显示,Clear Signing 让用户看到可读的交易详情);解释 Secure Channel(设备与 Ledger HSM 之间的加密认证连接,用于真伪校验、应用安装/卸载等特权操作,需要联网);区分 Commands(dmk.sendCommand(),底层单次 APDU)与 Device Actions(dmk.executeDeviceAction(),高层编排流程,处理解锁、开应用、确认提示、重试与状态发射);介绍 Session 与 sessionId(USB/BLE 连接句柄,非按链、非授权、刷新页面即失效);说明 Transport 抽象(WebHID、WebBLE、Node-HID、React Native HID/BLE、Speculos);讲解派生路径(必须硬编码为常量,无 m/ 前缀,硬化段用 ' 后缀);以及 BOLOS(Ledger OS,无应用打开时 currentApp.name 返回 "BOLOS")和 Genuine Check(验证设备为 Ledger 正品硬件)。
使用方式:作为概念参考技能使用,在实现 DMK 集成时查阅。启用以太坊 Clear Signing 需安装 @ledgerhq/context-module 并向 SignerEthBuilder 传入可选的 originToken;无 token 时静默降级为盲签。getAddress() 流程应使用 checkOnDevice: true。多标签页共享设备时可禁用会话刷新器:dmk.connect({ device, sessionRefresherOptions: { isRefresherDisabled: true } });。
适用场景:开发基于 Ledger 硬件的钱包或签名集成,需要理解安全模型、会话生命周期、传输约束与路径规范时。
限制:WebHID 仅支持 Chromium 浏览器,需 HTTPS 或 localhost,且必须在用户手势中调用;Secure Channel 操作离线不可用;originToken 需加入 Ledger 合作伙伴计划获取;文档未提供具体收费与价格信息。