Projects
The crums.io
software modules are maintained as a collection of open source project repos on GitHub.
The repos there are organized under the crums-io moniker.
A birds eye view of how this code is organized helps pull the concepts together, as well as
guide where to drill down for more information.
3 project repos are hightlighted below, in order of dependency:
-
merkle-tree: a flexible Merkle tree implementation.
Its Merkle proofs require leaf coordinates in order to determine the structural path (from leaf to root)
the hash-proof takes (the
index
and count
fields you see in a crumtrail's JSON).
-
crums-core: data model for crums, crumtrails and
other objects the time chain's REST interface vends out. Crumtrails are
augmented Merkle proofs. Includes JSON parsers and a REST client.
-
ledgers: a collection of modules for tracking ledgers, and differentially
reporting their contents. This is principally based on a newly introduced data structure called a skip ledger
(the repo's namesake) that offers similar capabilities to a Merkle tree, but that is better suited to
growing, append-only collections.