Crates.io | manul |
lib.rs | manul |
version | 0.0.1 |
source | src |
created_at | 2024-10-12 19:59:18.764044 |
updated_at | 2024-10-12 19:59:18.764044 |
description | Generic library for round-based protocols |
homepage | |
repository | https://github.com/entropyxyz/manul |
max_upload_size | |
id | 1406834 |
size | 103,083 |
The body is round
Sans-I/O API. That is, bring your own async libraries, or don't.
Generic over signer/verifier/signature types, so you can use whatever your blockchain uses.
Support parallelization where possible, to offload expensive cryptographic operations into spawned tasks (but since it's Sans-I/O, it's up to you to make use of that functionality).
Provide tools for unit and integration testing of the protocols.
Support generating malicious behavior proofs and correctness proofs with bundled signed messages.
Support caching messages intended for the next round and then applying them when it starts (since some nodes can finalize a round before others and send out a new batch of messages).
We try to find the balance between supporting the majority of protocols and keeping the API simple. Currently we operate under the following assumptions: