poroburu/openkms

GitHub: poroburu/openkms

基于 YubiHSM2 的轻量级 Cosmos/Solana 交易签名服务,为自动化交易代理提供私钥永不离设备的硬件级安全签名能力。

Stars: 2 | Forks: 0

# openKMS 由 YubiHSM2 支持的 **Cosmos** 和 **Solana** 交易签名器。 `0.1.0-rc.1` 版本是一个稳定的原型快照:体积小巧、默认拒绝访问, 专为家庭实验室的 Raspberry Pi 设计,用于为交易代理进行签名,且绝不 泄露原始密钥材料。 ## 亮点 - **仅 HSM 签名。** 私钥在 YubiHSM2 中生成或导入, 且永远不会以明文形式离开设备。 - **确定性仪式。** 一个 BIP-39 助记词即可派生出仪式、 配置器、签名器和封装密钥材料。 - **单密钥策略。** 速率限制、支出上限、程序/消息/收件人 允许列表以及管理员终止开关共同保护签名过程。 - **运维检查。** CI 涵盖格式检查、clippy、测试、文档偏差、 rustdoc、OpenAPI 偏差以及网站构建健康状况。 ## 文档 文档网站位于 [`website/`](website/) 中,并通过 GitHub Pages 工作流发布。请从那里开始阅读详细指南: - [概述](website/src/content/docs/overview.md) - [快速开始](website/src/content/docs/guides/quick-start.md) - [安全模型](website/src/content/docs/concepts/security-model.md) - [配置](website/src/content/docs/guides/configuration.md) - [策略编写](website/src/content/docs/guides/policy-authoring.md) - [HTTP API](website/src/content/docs/reference/http-api.md) - [架构](website/src/content/docs/reference/architecture.md) 运维手册保留在稳定的仓库路径中: - [`docs/remote-e2e.md`](docs/remote-e2e.md) - [`docs/broadcast-e2e.md`](docs/broadcast-e2e.md) - [`deploy/README.md`](deploy/README.md) 规范的示例配置是 [`examples/config.toml`](examples/config.toml)。 生成的 HTTP API 规范是 [`openapi/openkms.v1.json`](openapi/openkms.v1.json)。 一份与 AgentSkills 兼容的、供 OpenClaw 及其他代理使用的 OpenKMS 操作指南 已提交至 [`.agents/skills/openkms/SKILL.md`](.agents/skills/openkms/SKILL.md)。 ## 快速开始 将其复制为一个 mock-HSM 脚本,然后在连接到真实硬件使用之前, 调整标签、对象 ID 和路径。 ``` set -euo pipefail cargo build --profile mock-release ./target/mock-release/openkms --mock new-mnemonic > /secure/usb/mnemonic.txt ./target/mock-release/openkms setup --mnemonic-file /secure/usb/mnemonic.txt ./target/mock-release/openkms keys provision \ --label cosmos-hub-0 \ --chain cosmos \ --object-id 0x0100 \ --path "m/44'/118'/0'/0/0" \ --mnemonic-file /secure/usb/mnemonic.txt ./target/mock-release/openkms backup --out /secure/usb/openkms-backup.json ./target/mock-release/openkms run ``` ## 自动化流水线 - [`.github/workflows/ci.yml`](.github/workflows/ci.yml) 运行快速的仓库 检查:格式检查、clippy、默认测试、文档偏差、rustdoc、OpenAPI 偏差、 网站构建以及 mock 远程 Shell 回归测试。 - [`.github/workflows/remote-e2e.yml`](.github/workflows/remote-e2e.yml) 是一个 针对已部署签名器的手动预发布冒烟测试。其运维手册位于 [`docs/remote-e2e.md`](docs/remote-e2e.md)。 - [`.github/workflows/broadcast-e2e.yml`](.github/workflows/broadcast-e2e.yml) 是一个手动的实时测试网广播关卡。其运维手册位于 [`docs/broadcast-e2e.md`](docs/broadcast-e2e.md)。 E2E 包装脚本通过 [`scripts/e2e_defaults.sh`](scripts/e2e_defaults.sh) 共享 Solana/Cosmos 的默认配置。 请在每个脚本的 `--help` 中保留操作员标志。 ## 开发 ``` cargo fmt --check cargo clippy --all-targets -- -D warnings cargo test --all-targets RUSTDOCFLAGS="-D warnings" cargo doc --no-deps --all-features ``` 从 `website/` 构建文档网站: ``` npm install npm run build ``` ## 许可证 基于 Apache-2.0 许可。有关包元数据,请参见 [`Cargo.toml`](Cargo.toml)。
标签:API网关, BIP-39, Cosmos, EVM, Homelab, HSM, KMS, OpenAPI, OpenClaw, Rust, Solana, Streamlit, StruQ, YubiHSM2, 交易签名, 公钥基础设施, 加密货币, 加密货币交易, 助记词, 区块链, 可视化界面, 安全模型, 家庭实验室, 拒绝默认策略, 暗色界面, 硬件安全模块, 系统运维, 网络安全, 网络流量审计, 自动化交易, 访问控制, 通知系统, 隐私保护