Practical overview
When it fits
Use it when the available input is Ethereum contract bytecode and you need a command-line lifting or analysis stage for a developer workflow.
Who it is for
- Ethereum developers working with contract bytecode
- Security analysts building or running smart-contract analysis workflows
- Tool builders who need a lifted representation of EVM code
Documented uses
- Lift low-level EVM bytecode into a higher-level function-based representation.
- Run the toolchain on one `.hex` contract file or a directory of contract bytecode files.
- Pass additional client analyses to the pipeline and inspect its per-file results and flags.
Requirements & limits
- Local setup requires Souffle, Boost, Z3, the Souffle custom functors, and uv-managed Python 3.13.
- The documented local setup specifies Souffle 2.3 or 2.4.1; later development versions are described as untested.
- The README documents Docker installation as an alternative, while noting that the arm64/M1 image is not actively tested.
- Analysis results are stored in
.tempandresults.json; contracts exceeding the configurable timeout are skipped.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Set up Gigahorse from a local clone
Prepare the repository, Souffle addon, and Python environment for running the toolchain.
Before you start
- Clone the repository recursively to fetch its souffle-addon submodule, or initialize and update submodules after cloning.
- Install Boost libraries and Z3.
- Install uv and Souffle 2.3 or 2.4.1.
Steps
Build the Souffle custom functors from the souffle-addon directory using the documented make command.
Run the command below to provision the pinned Python 3.13 environment and project dependencies.
uv syncRun Gigahorse through uv or activate the resulting
.venvenvironment.
Expected outcome
The local environment is prepared to invoke Gigahorse; the documented example invocation is `uv run ./gigahorse.py examples/long_running.hex`.
Guide limitations
- Souffle versions other than the specified releases are described as untested.
- The guide covers the documented local setup; analysis may skip contracts that exceed the configurable timeout.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 16 October 2026
- Original website title
- nevillegrech/gigahorse-toolchain · Official homepage title · retained in its source language

