Installation#
StrataSolidity can currently only be used by building from source.
Prerequisites#
- Lean 4 (via
elan; the version is pinned inlean-toolchain) — needed to build StrataSolidity and the Strata back-end. - Strata vendored as a git submodule at
./Strata. - Python 3.12+ — only for development and CI tooling (the SARIF schema check and the benchmark CSV check). You don’t need it to verify contracts.
- solc — the Solidity compiler (used for AST extraction only).
- z3 SMT solver on your
PATH.
Building#
- Check out the StrataSolidity repository with submodules:
git clone --recurse-submodules https://github.com/strata-org/Strata-Solidity.git # or, after a plain clone: git submodule update --init --recursive - Verify the submodule layout:
bash scripts/check-strata.sh - Build:
lake build
This compiles the Lean translation pipeline and the strataSolidity CLI executable at .lake/build/bin/strataSolidity.
Verifying the installation#
Run the included test suites:
lake test # Lean unit and characterization tests
bash test/run_tests.sh # golden suite (test/examples/*.sol vs test/expected/) and exit-code checks
The golden suite runs each example contract through the full pipeline and diffs the result against the expected output. If both pass, your installation is working correctly.