OpenViSTAI · Agents · Blockchain · Crypto
Menu
Infrastructure

Evmone

Evmone is a C++ implementation of the Ethereum Virtual Machine that exposes the EVMC API and can be imported as an execution module by Ethereum client projects.

Independent OpenViST project profile, based on linked sources.

Evmone — OpenViST project profile in Infrastructure.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Evmone when an Ethereum client or C++ application needs a reusable EVM implementation rather than a complete end-user blockchain application.

Who it is for

  • Ethereum client developers
  • C++ developers embedding EVM execution
  • Teams building self-hosted Ethereum-compatible execution components

Documented uses

  • Execute EVM smart-contract code through a standalone implementation.
  • Replace or integrate an Ethereum client's EVM through the EVMC interface.
  • Build, test and benchmark an EVM execution module from source.
Before you choose

Requirements & limits

The repository is public and licensed under Apache-2.0. Source builds are documented for Linux, macOS and Windows; the technical classification also identifies server and self-hosted use.

  • EVMC is the documented integration interface.
  • The project requires C++20.
  • Baseline is the default interpreter; Advanced adds extensive bytecode analysis, indirect call threading and block-level gas and stack precomputation.
  • The intx and ethash libraries provide documented arithmetic and Keccak-related dependencies.
  • Full expmod precompile support requires GMP at build and execution time.

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

Build the evmone EVMC module

Configure and compile the evmone shared library and its documented test and benchmark tools.

Before you start

  • A source checkout with recursive submodules
  • CMake
  • A C++20-capable build environment
  • GMP if full expmod precompile support is required

Steps

  1. Clone the repository recursively and change into its directory.

  2. Configure the build with CMake; Linux and macOS use the documented CMake configuration, while Windows uses the Visual Studio 2019 x64 generator.

  3. Build the project with parallel compilation.

  4. Run the documented unit-test executable or benchmark tool.

Expected outcome

A compiled evmone EVMC module, with documented test and benchmark executables available from the build.

Guide limitations

  • Full expmod precompile implementation requires GMP at build and execution time; default stubs cover known inputs.
  • The evidence documents compilation and local test or benchmark commands, not a complete Ethereum client deployment.
Source-based practical guide

Use evmone as a geth EVM plugin

Connect the evmone shared library to a geth build that supports EVMC.

Before you start

  • A modified geth version with EVMC support
  • The evmone shared library
  • A geth installation that accepts the documented --vm.evm option

Steps

  1. Obtain a geth build with EVMC support, such as the fork referenced in the repository.

  2. Download or build the evmone shared library.

  3. Start geth with --vm.evm pointing to the evmone shared library.

Expected outcome

The EVMC-enabled geth process is configured to use evmone in place of geth's internal EVM.

Guide limitations

  • The repository states that a modified geth version is required.
  • The guide documents client configuration, not execution verification or compatibility guarantees.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
2 October 2026
Original website title
ipsilon/evmone · Official homepage title · retained in its source language