Find a file
arnaucube bb865a4fea
Implement Containers (Dictionary,Set,Array) on top of MerkleTree. And restructure the code. (#55)
* Implement Containers (Dictionary,Set,Array) on top of MerkleTree. And restructure the code.

- Reorganize the code grouping backends, middleware, frontend, (crypto) primitives.
- Add types Dictionary,Set,Array at the middleware layer, so that
  it can be used both by the backend and frontend. The Dictionary, Set,
  Array use the merkletree differently as specified at
f2575d1524/book/src/values.md (dictionary-array-set)
	- The containers introduce the trait Container, which has the
	  method 'cm()'. At the current version this uses a merkletree
	  under the hood, and the method 'cm' returns the merkle root.
- Ideally neither frontend nor backend use the MerkleTree type, and they
  use the wrappers {Dictionary,Set,Array}. Note that the current commit
  the MerkleTree is used at the mock-backend to check internal values, but
  not at the struct types.
- updated the spec's merkletree section updating the defined interface
- add github ci to run the tests

---------

Co-authored-by: Ahmad Afuni <root@ahmadafuni.com>
Co-authored-by: Eduard S. <eduardsanou@posteo.net>
2025-02-12 12:06:40 +01:00
.github/workflows Implement Containers (Dictionary,Set,Array) on top of MerkleTree. And restructure the code. (#55) 2025-02-12 12:06:40 +01:00
book Implement Containers (Dictionary,Set,Array) on top of MerkleTree. And restructure the code. (#55) 2025-02-12 12:06:40 +01:00
src Implement Containers (Dictionary,Set,Array) on top of MerkleTree. And restructure the code. (#55) 2025-02-12 12:06:40 +01:00
.gitignore Merge changes to docs (#41) 2025-02-10 19:06:45 +01:00
Cargo.toml feat: add middleware and signer traits (#18) 2025-02-04 12:35:32 +01:00
README.md Extend merkletree spec, init SignedPod section, add typos checker in CI (#31) 2025-02-05 16:37:16 +01:00
rust-toolchain.toml add initial MerkleTree implementation (#13) 2025-02-03 18:03:45 +01:00

POD2

Usage

  • Run tests: cargo test --release

Book

The book contains the specification of POD2. A rendered version of the site can be found at: https://0xparc.github.io/pod2/

To run it locally:

  • Requirements
  • Go to the book directory: cd book
  • Run the mdbook: mdbook serve