这个项目能做什么
Keep 是一款用于 FROST(灵活轮次优化 Schnorr 阈值签名)阈值签名的 Android 应用,专为 Nostr 事件签名而构建。它允许用户在手机上持有 FROST 密钥分片并签名 Nostr 事件,而任何单一设备都不会持有完整私钥。它实现了 NIP-55 Android 签名者协议(意图和内容提供者)以及 NIP-46 远程签名(bunker 服务),因此兼容的 Nostr 客户端可以直接请求签名。
README 中描述的关键功能:
- FROST 阈值签名,支持可配置方案,如 2-of-3 和 3-of-5。
- NIP-55 Android 签名者协议和 NIP-46 远程签名。
- 通过二维码或文本导入和导出 FROST 分片,以及导入现有 nsec 密钥。
- 多账户支持,具有按应用签名权限和策略。
- 签名历史和审计日志。
- 生物识别和 PIN 认证,通过 Android Keystore 提供硬件支持的密钥存储。
- 用于紧急密钥删除的紧急开关。
- SOCKS 代理支持(Tor)和用于中继连接的证书固定。
- NIP-44 加密和解密,以及 NIP-04 操作。
- 后台签名,具有可配置速率限制。
- 加密备份和恢复。
- 用于多重签名的比特币钱包描述符协调。
支持列出的 NIP-55 操作包括 get_public_key、sign_event、nip04_encrypt、nip04_decrypt、nip44_encrypt、nip44_decrypt 和 decrypt_zap_event。
分发通过 Zapstore、Obtainium、GitHub 发布和 F-Droid 提供。构建需要固定工具链版本:Rust 1.89.0、Android NDK 29.0.14206865、cargo-ndk 4.1.2 和 JDK 17;版本不匹配时构建会快速失败。Gradle 在源代码更改时自动重建 Rust 库。一个脚本允许从主机构建刷新 Kotlin 绑定,无需 NDK 进行类型检查,但此类构建在运行时因 UnsatisfiedLinkError 而失败。另一个脚本验证构建脚本和 CI 工作流中的固定版本。
贡献通过 GitHub 问题和拉取请求接受。欢迎翻译,种子语言环境包括巴西葡萄牙语、西班牙语、德语和日语;托管翻译平台被列为待办事项,CI 检查语言环境漂移。项目采用 MIT 许可证。
评论
0 评分人数达到10人后显示
登录后参与讨论。