Typed mutable SSZ views over cached and immutable binary merkle trees
Project description
remerkleable
Remerkleable: Typed mutable SSZ views over cached and immutable binary Merkle trees.
Features:
- Types:
- custom byte-vector view for Python bytes-like behavior
- bitfields: bitlist, bitvector
- list, container, vector
- basic types
- Functionality:
- Serialize all types. Into output stream (returning the written count) and as
bytes
- Deserialize all types. From input stream (and scope) and from
bytes
- Hash-tree-root all types
- Merkle-based data-sharing:
- every view can be initialized/backed by a binary Merkle tree
- complex views have backings, and can share data.
- complex views provide a nice mutable interface, and replace their backing. And this also works for child-views through view-hooks.
- SSZ-Partials: if a partial proof is loaded as backing, a view can be overlaid, and the partial backing works as long as no excluded branches are accessed.
- Get serialization info from the bare types: min/max byte length, or just byte length for fixed-length types.
- Serialize all types. Into output stream (returning the written count) and as
Also see
- SSZ: "SimpleSerialize", part of Ethereum 2.0
- SSZ draft spec
- Ethereum Merkle trees information aggregate
Contact
Author: @protolambda
License
MIT, see LICENSE
file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
remerkleable-0.1.1.tar.gz
(21.6 kB
view hashes)
Built Distribution
Close
Hashes for remerkleable-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9172dbba8733307b1327a92a0a0988866846eab50fcba7b6e27ab2552d10966d |
|
MD5 | 81ba292ccb218900d3ef2f59486af685 |
|
BLAKE2b-256 | 9c1ac780fca3b50b5109a63fa8340a70973bf858fcf5247f4073f6e6ae445289 |