/overlord

Overlord consensus protocol.

Primary LanguageRustMIT LicenseMIT

Overlord

Overlord consensus protocol.

Crates.io example workflow License Minimum rustc version

Introduction

Overlord is a new consensus protocol that decouple the consensus process from the execution process.

Detailed introduction: 中文|English

Usage

From cargo

[dependencies]
overlord = "0.4"

Overlord takes turns to become the leader by default. If you want to choose a leader randomly, add the random_leader feature to the dependency as below.

[dependencies]
overlord = { version = "0.4", features = ["random_leader"] }

Example

We simulated a salon scene to show an example of using overlord.

A distributed system for reaching a consensus on the content of a speech is realized by simulating the dialogue between speakers through the communication between threads.

Run the example by cargo run --example salon, and the system will output the agreed speech content in turn. Click here to see the detail.

It will check whether different speakers agree on the content of the speech.

Projects using Overlord

  • Muta, a high-performance blockchain framework.
  • Axon, a layer2 of CKB that is compatible with Ethereum.