This repository provides reference implementations of several uncertified DAG-based consensus protocols. The codebase is designed to be small, modular, and easy to benchmark and modify. It is not intended for production use, but relies on real networking, cryptography, and a persistent storage. It also ships with a discrete-event simulator for exercising the protocols under custom network and failure scenarios.
This repository currently supports Mysticeti, Mahi-Mahi, Odontoceti, and Cordial Miners (both the partially synchronous and asynchronous variants).
To boot a local testbed of 4 replicas with a built-in load generator on your machine:
$ git clone https://github.com/asonnino/mysticeti.git
$ cd mysticeti
$ cargo run --release --bin replica -- local-testbed
The first build may take a few minutes. Each replica exposes Prometheus metrics on its own local
port; press Ctrl-C to stop the testbed.
- Code architecture — how the system is put together, from threading and storage to where cryptography sits on the hot path.
- Simulator — driving the protocols through custom network, load, and failure scenarios with the discrete-event simulator.
- Geo-replicated testbeds — a walkthrough for spinning up and benchmarking a distributed deployment on the cloud.
This software is licensed as Apache 2.0.
