This repository is dedicated to sharing research material and scientific contributions by Calibra researchers towards Libra Core development.
In relation to the LibraBFT whitepaper State Machine Replication in the Libra Blockchain, we are providing a minimal, reference implementation of the LibraBFT protocol in a discrete-event simulated environment.
Usage:
RUST_LOG=warn cargo run --bin librabft_simulator
This simulator is provided for research-purpose only and is not meant to be used in production. It will continue to evolve along with the LibraBFT whitepaper.
Example output:
Finished dev [unoptimized + debuginfo] target(s) in 0.17s
Running target/debug/librabft_simulator
[2019-09-26T16:21:49Z WARN librabft_simulator::record_store] Creating new record store for epoch: EpochId(0), initial_hash: QuorumCertificateHash(0), initial_state: State(13646096770106105413), configuration: EpochConfiguration { voting_rights: {Author(0): 1, Author(1): 1, Author(2): 1}, total_votes: 3 }
[2019-09-26T16:21:49Z WARN librabft_simulator::record_store] Creating new record store for epoch: EpochId(0), initial_hash: QuorumCertificateHash(0), initial_state: State(13646096770106105413), configuration: EpochConfiguration { voting_rights: {Author(0): 1, Author(1): 1, Author(2): 1}, total_votes: 3 }
[2019-09-26T16:21:49Z WARN librabft_simulator::record_store] Creating new record store for epoch: EpochId(0), initial_hash: QuorumCertificateHash(0), initial_state: State(13646096770106105413), configuration: EpochConfiguration { voting_rights: {Author(0): 1, Author(1): 1, Author(2): 1}, total_votes: 3 }
[2019-09-26T16:21:49Z WARN librabft_simulator] Commands executed per node: [
29,
29,
29,
]
- The Libra Blockchain
- Move: A Language With Programmable Resources
- State Machine Replication in the Libra Blockchain
Read our Contributing guide.
Join us on the Libra Discourse
Get the latest updates to our project by signing up to our newsletter.
The content of this repository is licensed as Apache 2.0