Practical overview
When it fits
Use Leanspec when working directly with Lean Ethereum protocol definitions, consensus test vectors, or the repository's documented conformance-testing workflow.
Who it is for
- Developers writing or validating Lean Ethereum consensus specifications.
- Protocol and cryptography developers generating test vectors for specification cases.
- Client developers using the documented API conformance test workflow.
Documented uses
- Define and test Ethereum consensus protocol behavior.
- Specify cryptographic subspecifications and test their cases.
- Generate consensus fixtures for a selected fork and XMSS scheme.
- Run documented API conformance tests against an external client implementation.
Requirements & limits
The GitHub repository is public and specifies an MIT license.
- Local setup requires Python 3.12 or later, uv, and just.
- The current lean-multisig-py dependency requires Rust nightly to compile.
- The README documents Docker deployment examples separately from its local development setup.
- The repository documents a CLI, node components, consensus tests, and cryptographic subspecifications.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Set up the local Leanspec development workspace
Install the repository's project and development dependencies and run its documented setup test.
Before you start
- Python 3.12 or later
- uv package manager
- just task runner
- Rust nightly to compile the current lean-multisig-py extension
Steps
Install the prerequisites, including Python 3.12 or later through uv and Rust nightly.
Clone https://github.com/leanEthereum/leanSpec and change into the leanSpec directory.
Run uv sync to install and synchronize project and development dependencies.
Run just test as the documented setup check.
Expected outcome
The project and development dependencies are synchronized, and the repository's default test task is available to run.
Guide limitations
- Rust nightly is identified as a temporary requirement for compiling the current Rust-based Python extension.
- The documented test command is a repository workflow; this guide does not report an independently run result.
Generate consensus test fixtures for a selected fork
Use the documented fill command to create test-vector fixtures from pytest specifications.
Before you start
- A configured Leanspec workspace with project dependencies installed
- The repository's documented uv run fill command
Steps
From the workspace root, run uv run fill --clean --fork=Lstar.
To use the documented production XMSS configuration instead of the default test scheme, run uv run fill --clean --fork=Lstar --scheme=prod.
If needed, add the documented --output= option to choose a fixture output directory.
Expected outcome
The fill workflow generates fixtures for the selected fork from pytest specifications.
Guide limitations
- The documented command uses Lstar as its example fork; other fork values must correspond to supported project specifications.
- The README describes the prod XMSS scheme as slower than the default test scheme.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 12 October 2026
- Original website title
- leanEthereum/leanSpec · Official homepage title · retained in its source language

