This module defines the data model / structures the time chain uses to vend out receipts when it witnesses hashes. It uses the merkle-tree library in the following way:

  • The tree's hashing algo is set to SHA-256; it's leaves are exactly 32-bytes wide.
  • Each leaf's 32-byte value is the SHA-256 hash of the concatenation of the witnessed hash and the UTC time the hash was witnessed. This duo (hash and witness time) we called a crum.
  • Merkle proofs are augmented so that they include information about how the leaf hash in the proof is computed (i.e. the crum). The augmented proof is called a crumtrail.

A REST client along with JSON parsers for these and other objects the service vends out is included.

Github Links

© 2020-2022