OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Leanspec

Leanspec is a Python framework for Lean Ethereum protocol and cryptographic specifications, with a test suite and command-line tools for generating test vectors. Its repository also contains node components and documented Docker deployment examples.

Independent OpenViST project profile, based on linked sources.

Leanspec — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

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.
Before you choose

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.

Source-based practical guide

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

  1. Install the prerequisites, including Python 3.12 or later through uv and Rust nightly.

  2. Clone https://github.com/leanEthereum/leanSpec and change into the leanSpec directory.

  3. Run uv sync to install and synchronize project and development dependencies.

  4. 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.
Source-based practical guide

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

  1. From the workspace root, run uv run fill --clean --fork=Lstar.

  2. To use the documented production XMSS configuration instead of the default test scheme, run uv run fill --clean --fork=Lstar --scheme=prod.

  3. 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.
Evidence and transparency

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