https://github.com/nervosnetwork/overlord
Overlord consensus protocol.
https://github.com/nervosnetwork/overlord
bft cargo consensus library muta rust
Last synced: 6 months ago
JSON representation
Overlord consensus protocol.
- Host: GitHub
- URL: https://github.com/nervosnetwork/overlord
- Owner: nervosnetwork
- License: mit
- Created: 2019-07-24T09:13:59.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-09-04T19:29:58.000Z (almost 3 years ago)
- Last Synced: 2025-04-12T01:55:28.629Z (about 1 year ago)
- Topics: bft, cargo, consensus, library, muta, rust
- Language: Rust
- Homepage: https://nervosnetwork.github.io/overlord/
- Size: 645 KB
- Stars: 80
- Watchers: 12
- Forks: 21
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Overlord
Overlord consensus protocol.
[](https://crates.io/crates/overlord)

[](LICENSE.md)
[](https://github.com/nervosnetwork/overlord/blob/master/rust-toolchain)
## Introduction
Overlord is a new consensus protocol that decouple the consensus process from the execution process.
Detailed introduction: [中文](./docs/architecture_zh.md)|[English](./docs/architecture_en.md)
## Usage
### From cargo
```toml
[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.
```toml
[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](./examples/salon.rs) to see the detail.
It will check whether different speakers agree on the content of the speech.
### Projects using Overlord
* [Muta](https://github.com/nervosnetwork/muta), a high-performance blockchain framework.
* [Axon](https://github.com/nervosnetwork/axon), a layer2 of CKB that is compatible with Ethereum.