离线签名
Air-Gap 模式通过 UR 动画二维码在应用与设备之间传递签名请求和签名结果。整个过程中,设备不需要接入网络,私钥也不会离开设备。
原理
| 阶段 | 发生的事情 |
|---|---|
| 请求准备 | 应用把目标链的签名请求编码成 UR,并拆成动画二维码展示。 |
| 设备扫描 | UKey Wallet 读取二维码,在屏幕上展示待签内容,用户确认后离线签名。 |
| 获取签名 | 设备把签名响应重新封装为 UR 动画二维码。 |
| 广播交易 | 应用扫描回传二维码,完成解析和校验后再广播交易或继续后续业务。 |
按链上手
| 链 | 请求类型 | 响应类型 |
|---|---|---|
| Ethereum & EVM | eth-sign-request | eth-signature |
| Bitcoin (PSBT) | crypto-psbt | crypto-psbt |
| Solana | sol-sign-request | sol-signature |
| Tron | tron-sign-request | tron-signature |
API说明
- 基础 API - 通用 UR 类型:
CryptoHDKey、CryptoCoinInfo、CryptoKeypath
依赖
# Keystone SDK 与 UR 注册依赖
npm install @keystonehq/keystone-sdk @keystonehq/bc-ur-registry-eth
# UR 基础能力库
npm install @ngraveio/bc-ur
注意:Air-Gap 面向离线签名场景,通常不会提供在线浏览器演示。