OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Vertigo

Vertigo is a Python command-line mutation-testing framework for Ethereum smart contracts that applies configurable mutation operators to Solidity projects and runs test campaigns through Truffle or Hardhat workflows.

Independent OpenViST project profile, based on linked sources.

Vertigo — 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 Vertigo when a Solidity project already has a Truffle or Hardhat test workflow and you want to assess how that suite responds to code mutations.

Who it is for

  • Solidity developers assessing whether existing tests detect changes to smart-contract code.
  • Teams using Truffle or Hardhat that want to run configurable mutation campaigns.

Documented uses

  • Run a mutation-testing campaign against a Solidity project.
  • Choose mutation rules or exclude directories from mutation.
  • Use sampling to reduce the number of mutation runs.
  • Save incremental mutation state or export campaign results to a file.
Before you choose

Requirements & limits

Vertigo is an open-source command-line project licensed under LGPL-3.0.

  • The README describes Python installation with pip and CLI-based campaign execution.
  • Truffle use requires a configured network; some environments may also require the Truffle executable path.
  • Campaigns may repeat test runs many times. The README warns this can create large numbers of files with Ganache and exhaust available inodes.
  • The --sample-ratio option can reduce the number of mutation runs by selecting a random subset.

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

Run a campaign on a Truffle project

Install Vertigo and start a mutation-testing campaign using a configured Truffle development network.

Before you start

  • A Truffle project with a development network configured in truffle-config.js.
  • Python 3 pip, and the Truffle executable; the README notes that its location may need to be specified.

Steps

  1. Install Vertigo with the command below.

    Documented command
    pip3 install --user eth-vertigo
  2. Run vertigo run --network development.

  3. If needed, provide the Truffle executable path with --truffle-location /bin/truffle.

Expected outcome

Vertigo performs a core test campaign using the configured Truffle network.

Guide limitations

  • Campaigns can run the test suite repeatedly; the README warns that extensive Ganache use may exhaust available inodes.
  • The documented command assumes the project has a configured development network.
Source-based practical guide

Run a campaign with Hardhat parallel networks

Start a Vertigo mutation-testing campaign using the documented Hardhat dynamic-network option.

Before you start

  • A Hardhat project and its test workflow.

Steps

  1. Install Vertigo with the command below.

    Documented command
    pip3 install --user eth-vertigo
  2. Run vertigo run --hardhat-parallel 8.

Expected outcome

Vertigo performs a core test campaign with the specified number of Hardhat networks in parallel.

Guide limitations

  • The README documents the command but does not provide further Hardhat setup steps.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
14 October 2026
Original website title
JoranHonig/vertigo · Official homepage title · retained in its source language