Skip to main content

compute_chain_hash

Function compute_chain_hash 

Source
pub fn compute_chain_hash(facts: &[Fact]) -> Result<String, HashError>
Expand description

重导出 tier1 的哈希算法(单一真相源)

所有哈希计算函数均在 evorule_reactor::hash 中实现, 本模块通过 re-export 对外暴露相同的 API。 计算哈希链的最终链哈希

这是审计链的核心计算函数。

§算法

  • prev_hash 初始为 "genesis"
  • 对每个 Fact,计算 content_hash = fact_hash(fact)
  • 链哈希:chain_hash = blake3(prev_hash + content_hash)
  • 更新 prev_hash = chain_hash,继续处理下一个 Fact
  • 返回最终的 prev_hash(即整条链的链哈希)

§参数

  • facts: 事实列表(按因果顺序)

§返回值

  • Ok(String): 最终链哈希(64 字符十六进制)
  • Err(HashError): 任一 Fact 哈希计算失败

§注意

本函数只计算链哈希,不验证完整性。 验证逻辑由调用方比对存储的哈希与重算的哈希。 空列表返回 "genesis"