Skip to content

CEA-LIST/Ledgera

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ledgera

Please refer to the dedicated website for Ledgera.

Ledgera White Paper

A high-level introduction to Ledgera (vision, design rationale, and target use cases) is given here.

Ledgera Yellow Paper

The current protocol-level specification, with formal definitions, data structures, and the reference execution model is described here.

Ledgera Tutorial

Find here a hands-on guide to building a domain-specific application on the Ledgera BFT system, with core Ledgera and Rust concepts, two worked reference apps (a minimal hello-world and a full atomic register), and how to turn the blank template into your own application.

Installation

Do not install Rust or cargo via your system package manager (apt install cargo, brew install rust, etc.). Those versions are too old to read the lock file in this repo. Use rustup instead — it installs rustc, cargo, and the correct version automatically.

1. Install system prerequisites

  • Ubuntu / Debian:
    sudo apt-get install build-essential pkg-config libssl-dev git python3
  • Fedora / RHEL:
    sudo dnf install @development-tools pkgconf-pkg-config openssl-devel git curl python3
  • macOS: xcode-select --install, then install Python 3 via python.org or brew install python.
  • Windows: install Git for Windows and Python 3. The MSVC C++ Build Tools are handled by rustup in step 2.

2. Install rustup

  • Linux / macOS:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • Windows: download and run rustup-init.exe.

After the installer completes, open a new terminal so that cargo and rustc are on your PATH.

The workspace pins Rust 1.89 via code/rust-toolchain.toml. Rustup will download and switch to that version automatically on the first cargo invocation inside code/.

3. Build

cd code
cargo build --release

4. Run a test

Each crates/test_* (non-TUI) crate ships a launch_test.py that builds a local multi-node testnet and spawns one terminal per node. From inside the crate directory:

python3 launch_test.py

About

Ledgera is a modular distributed ledger for organizations and devices that need to collaborate without a central authority. A committee of nodes (Ledgents) executes and certifies computations via threshold proofs, anchored in a secure log to stay immutable, auditable, and reusable — skipping full consensus overhead.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors