OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Ethereumjs Monorepo

EthereumJS Monorepo is a collection of modular TypeScript libraries for Ethereum execution-layer development, including an EVM interpreter and VM, transaction and block types, blockchain and state tools, chain configuration, and encoding utilities.

Independent OpenViST project profile, based on linked sources.

Ethereumjs Monorepo — 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 the package map to assemble Ethereum execution-layer functionality from focused libraries when you need specific protocol components rather than a full client.

Who it is for

  • Developers building Ethereum execution-layer software.
  • Teams implementing transaction, block, state, trie or EVM functionality in Node.js or browser projects.

Documented uses

  • Run signed transactions or replay and build blocks with the VM.
  • Execute bytecode, custom opcodes or precompiles with the EVM package.
  • Create, sign or parse transactions and work with block data.
  • Build state-management, trie, proof, chain-configuration or serialization components.
Before you choose

Requirements & limits

The repository is public on GitHub and identifies the project as open source. Its README documents npm packages and examples.

  • Choose @ethereumjs/vm for transaction, block and state workflows; choose @ethereumjs/evm for bytecode-only execution.
  • The README describes Node.js and browser use; browser projects may need bundler configuration from package documentation.
  • Blob transaction handling needs a separate KZG library.
  • The repository lists Osaka as stable on npm and Amsterdam as in development.

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 signed transfer in an in-memory VM

Install the documented packages and use the README example to execute a signed legacy transfer against in-memory state.

Before you start

  • Node.js project using the documented npm installation command.
  • Install @ethereumjs/vm, @ethereumjs/common, @ethereumjs/tx and @ethereumjs/util.
  • TypeScript code following the repository’s quick-start example.

Steps

  1. Install the four packages with the README’s npm command.

  2. Create a Mainnet Common configuration for the selected hardfork and initialize a VM.

  3. Create an account in the VM state manager, construct and sign a legacy transaction, then pass it to runTx.

Expected outcome

The example returns the transaction execution result, including totalGasSpent.

Guide limitations

  • The example uses in-memory state and is a basic signed transfer workflow.
  • Blob (EIP-4844) transactions require a separate KZG library.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
16 October 2026
Original website title
ethereumjs/ethereumjs-monorepo · Official homepage title · retained in its source language