Skip to main content

Module hashing

Module hashing 

Source
Expand description

§Blake3 hashing helpers

Thin wrappers over blake3::Hasher that return a strongly-typed crate::tools::types::Hash (32 bytes) instead of raw bytes. Blake3 is used as the canonical fast hash throughout the protocol — for crate::tools::types::Id derivation, content addressing, bucket location hashing, and as the last step of any multi-input hash that needs a single output.

The four functions are minor ergonomic variants:

  • hash — one slice.
  • hash_two — two slices, concatenated without copying.
  • hash_multiple — arbitrary slice of slices.
  • hash_multiple_plus_one — the common case of “hash this list, plus one more tail value” without allocating a combined slice.

For the deliberately slow multi-algorithm chain used in proof-of-work, see crate::tools::pow.

Functions§

hash
hash_multiple
hash_multiple_plus_one
hash_two