L3 存储层补全工单
工单编号: STORAGE-LAYER-001
日期: 2026-03-18
状态: ✅ 已完成
一、工作原则
本次工作严格遵循以下原则:
- 尊重前期开发者工作成果:所有已有代码保持原样,仅在其基础上追加扩展
- 五大核心治理哲学:每一个模块都体现 NAC 公链的核心设计哲学
二、五大核心治理哲学与存储层的映射
| 哲学原则 |
存储层体现 |
对应模块 |
| 约法即是治法 |
证据存证是司法管辖的数字基石 |
evidence_storage.rs |
| 宪法即是规则 |
每条状态变更必须引用宪法条款 |
state_database_ext.rs |
| 参与即是共识 |
SHA3-384 Merkle树提供不可篡改的密码学证明 |
merkle_tree.rs |
| 节点产生区块 |
区块按节点身份分区存储,节点ID是第一公民 |
block_store.rs |
| 交易决定区块大小 |
不预设固定区块大小,由实际交易集合决定 |
block_store.rs |
三、文件变更清单
3.1 前期开发者原有代码(保持不变)
| 文件 |
行数 |
说明 |
state_database.rs |
124行 |
HashMap内存实现,含StateKey/StateValue/StateDatabase,有完整测试 |
3.2 空骨架补全(在原有struct基础上扩展)
| 文件 |
原行数 |
补全后行数 |
补全内容 |
merkle_tree.rs |
6行 |
约80行 |
SHA3-384 Merkle树完整实现,含证明生成与验证 |
archive_storage.rs |
6行 |
约55行 |
历史区块数据归档,含压缩存储和检索 |
evidence_storage.rs |
6行 |
约90行 |
证据存证,含SHA3-384哈希验证和宪法条款关联 |
3.3 新增文件
| 文件 |
行数 |
说明 |
block_store.rs |
约80行 |
区块存储引擎,按节点分区,交易决定大小 |
dna_store.rs |
约70行 |
资产DNA存储,对接asset_dna模块,支持GNACS索引 |
state_database_ext.rs |
约60行 |
状态数据库扩展,含宪法条款引用和GNACS状态索引 |
3.4 更新文件
| 文件 |
说明 |
mod.rs |
追加新模块声明(block_store, dna_store, state_database_ext) |
四、GNACS 编码体系说明
本次存储层设计与 GNACS Pro V2.0(48位全球原生资产链统一分类标准)完全兼容:
- dna_store.rs:支持按 GNACS 编码检索资产 DNA
- state_database_ext.rs:
GNACSStateIndex 提供 GNACS 编码到状态键的快速索引
- evidence_storage.rs:存证记录中包含
related_gnacs 字段,关联具体资产
五、Git 提交记录
- 提交哈希:
d8cc65b
- 提交信息: feat(l3-storage): 补全存储层骨架代码
- 变更统计: 7 files changed, 521 insertions(+)
六、后续工作建议
- RocksDB 集成:当前
state_database.rs 使用 HashMap 内存实现,建议后续集成 RocksDB 持久化
- GNACS V2.0 适配器:
gnacs_index.rs 需要实现白皮书 V2.0 的 48 位字符串格式与现有 u64 编码之间的转换
- 预言机状态更新:
evidence_storage.rs 中的 real_time_status 字段需要与 L4 AI 层的预言机服务对接
- 区块压缩:
archive_storage.rs 中的压缩实现需要集成实际的压缩库(如 zstd)