package plebeia

  1. Overview
  2. Docs
Functional storage using Merkle Patricia tree

Install

Dune Dependency

Authors

Maintainers

Sources

plebeia-2.0.2.tar.gz
md5=aecc184507170faed53e543195687233
sha512=9799144ea7ebc997681353136393815ac73040e2ae5227f2787c1331bb393dbd318b1fa3ae8d075b383cda4fe7584b80f7f32a4aa99c870a0bd2d76e91024bf5

doc/plebeia/Plebeia/Merkle_proof/index.html

Module Plebeia.Merkle_proofSource

Merkle proof

Hashed only nodes are represented by Hash h.

Sourcemodule Tree : sig ... end
Sourcetype t = {
  1. tree : Tree.t;
    (*

    Proof tree

    *)
  2. paths : Path.t list;
    (*

    The paths proven

    *)
}

Proof tree packed with the paths proven in it

Encoding of t. The Disk nodes are loaded from ctxt on demand.

Sourceval pp : Format.formatter -> t -> unit
Sourceval make : Context.t -> Node_type.t -> Path.t list -> t * (Path.t * Node_type.t option) list

make ctxt n paths returns the packed Merkle proof of paths of node n under context ctxt and the nodes found (or not found) at paths.

The proof may contain Disk nodes which require ctxt to be loaded. Use encoding to load all the nodes

  • n must point to a Bud, otherwise the function fails.
Sourceval check : Hash.Hasher.t -> t -> Hash.t * (Path.t * Node_type.t option) list

check hasher t returns the top Merkle hash of the proof tree of t and returns the nodes found at the t.paths.

It may raise Invalid_argument when t contains Disk nodes.

OCaml

Innovation. Community. Security.