valkyoth/cardano

GitHub: valkyoth/cardano

一个 no_std 优先的 Rust Cardano 协议构建块库,通过严格的规范锁定、安全门控和渐进式发布策略,目标是提供生产级的 Cardano 区块链协议工具包。

Stars: 0 | Forks: 0

面向 Rust 的 no_std 优先的 Cardano 协议构建块。
显式领域、有界的 CBOR/CDDL 策略、时代感知的验证边界,以及安全门控的发布证据。

Docs.rs | 发布计划 | 威胁模型 | 安全

cardano Rust crate overview

# cardano `cardano` 是一个 `no_std` 优先的 Rust 工作区,用于构建 Cardano 协议构建 块。 该项目的目标是在 `1.0.0` 时提供可用于生产环境的 Cardano crate,通过 一系列包含明确安全、一致性和依赖证据的微小版本发布来实现。最初的 实现工作故意保持保守:在节点协议、签名、本地密钥、Plutus 执行或钱包 相关的辅助工具成为实际依赖之前,优先确定显式领域、有界的 CBOR/CDDL 策略、稳定的 crate 边界以及安全文档。 ## 当前状态 状态:已达到 `v0.3.0` domain-newtypes 实现里程碑; 等待渗透测试。 目前已实现: - Rust 工作区固定为稳定版 `1.96.1`。 - 针对 Rust `1.90.0` 到 `1.96.1` 的 MSRV 策略。 - `no_std` 外观模式和聚焦的第一方 crate 边界。 - Cardano 特定的实现、发布、范围、威胁模型、模块化、 工具链、unsafe、规范来源和供应链文档。 - 本地检查、发布门控、依赖策略、SBOM 和渗透测试证据 工具,改编自同一流程模型并针对 Cardano 进行了重置。 - 针对 `cardano-ledger`、`cardano-node`、 `ouroboros-network` 和 CIP 的官方源工作流。 - 用于基元、CBOR、加密、地址、账本、 脚本、治理、节点、RPC、净化、签名者、测试工具包以及 `cardano` 外观模式的初始 crate 边界。 - 用于发布说明、SBOM、永久渗透测试报告 元数据、已审查提交检查、tag-exists 检查以及支持 crate 发布顺序验证的发布就绪工具。 - 用于网络 id、时代、slots、epochs、区块 编号、币、交易 id、区块哈希、datum 哈希、脚本哈希、 密钥哈希、策略 id、凭证和有界资产名称的显式基元领域。 尚未实现: - 无协议解码器。 - 无账本验证。 - 无 CBOR/CDDL 一致性向量。 - 无地址解析器。 - 无原生脚本或 Plutus 数据实现。 - 无交易构建器或签名者。 - 无本地密钥存储。 - 无 node-to-client 或 node-to-node 协议支持。 - 无 RPC/查询/提交传输。 - 无钱包、索引器或全节点行为。 ## 信任仪表盘 | 领域 | 状态 | | --- | --- | | 许可证 | `MIT OR Apache-2.0` | | MSRV | Rust `1.90.0` | | 固定工具链 | Rust `1.96.1` | | 默认目标 | `no_std` | | 默认运行时依赖 | 仅限第一方脚手架 crate | | Unsafe 策略 | 第一方 crate 使用 `#![forbid(unsafe_code)]` | | 默认特性 | 仅限 protocol-core 边界 | | 网络/签名默认值 | 无 | | 发布证据 | 本地门控、cargo-deny、cargo-audit、SBOM、渗透测试报告 | | 形式化验证 | 计划在 `1.0.0` 之前引入 Kani harness 作为额外保障 | | Crate 版本 | 记录在 [`docs/CRATE_VERSION_MATRIX.md`](docs/CRATE_VERSION_MATRIX.md) 中 | | 1.0 目标 | 严肃的生产级 Cardano 协议工具包 | ## 安装 ``` [dependencies] cardano = "0.3" ``` ## 功能 | 特性 | 默认 | 用途 | | --- | --- | --- | | `std` | 否 | 在准入的核心 crate 中启用 `std` 支持。 | | `node` | 否 | 未来的 node-to-client 和 node-to-node 协议边界。 | | `rpc` | 否 | 未来的查询/提交信任策略边界。 | | `sanitization` | 否 | 未来的机密数据净化桥接 API。 | | `signer` | 否 | 未来的签名者隔离边界。 | | `testkit` | 否 | 测试夹具、一致性辅助工具和对抗性输入。 | 默认构建不启用网络、签名、本地密钥存储、Plutus 执行、钱包行为或节点操作。 ## 源码准则 Cardano 协议行为不能凭记忆实现。每一个改变共识敏感行为的 里程碑,都必须从检查当前的官方源材料开始,在 `spec-lock.toml` 中固定 确切的修订版本,仅将所需的夹具导入外部参考存储中,并更新 [`docs/SPEC_MATRIX.md`](docs/SPEC_MATRIX.md)。 主要来源体系: - `https://github.com/IntersectMBO/cardano-ledger` - `https://github.com/IntersectMBO/cardano-node` - `https://github.com/IntersectMBO/ouroboros-network` - `https://github.com/cardano-foundation/CIPs` ## 发布准则 每个版本在标记之前都必须停止,直到针对确切的 实现提交提供了安全审查和渗透测试证据。标记和发布是 维护者的手动操作,而不是实现过程的自动副作用。 ``` vX.Y.Z implementation stop reached. Run pentest for this exact commit. ```
标签:Cardano, CBOR, LLM防护, no_std, Rust, 区块链, 协议构建组件, 可视化界面, 密码学, 手动系统调用, 网络流量审计