OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

EVM — MrLuit

EVM — MrLuit is a TypeScript library that interprets and decompiles Ethereum Virtual Machine bytecode and parses transaction input. It provides opcode listings, function and event signature extraction, jump destinations, optional Swarm hash extraction, and Solidity-like pseudocode.

Independent OpenViST project profile, based on linked sources.

EVM — MrLuit — 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 it when building a programmatic workflow for inspecting Ethereum bytecode or transaction input, especially when opcode details, likely contract signatures, metadata, or pseudocode are useful.

Who it is for

  • Ethereum developers inspecting contract bytecode or transaction input in Node.js or browser-based code.
  • Tool builders adding opcode, signature, metadata, or pseudocode views to their own software.

Documented uses

  • Convert contract bytecode into opcodes with program counters and push data.
  • Extract function and event signatures, jump destinations, and an embedded Swarm hash when present.
  • Produce Solidity-like pseudocode from bytecode.
  • Identify function information from transaction input.
Before you choose

Requirements & limits

The repository documents installation through npm and identifies the project as MIT-licensed open-source software.

  • The library provides parsing and interpretation functions; its examples use Web3 to obtain contract code or transaction data.
  • Decompilation returns Solidity-like pseudocode, not original Solidity source.

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

Inspect an Ethereum contract’s bytecode and decompile it in Node.js

Retrieve a contract’s bytecode, then display its function and event signatures and Solidity-like pseudocode.

Before you start

  • Node.js
  • The evm and web3 packages
  • An Ethereum JSON-RPC endpoint accessible through the Web3 HTTP provider

Steps

  1. Install the EVM package with the command below.

    Documented command
    npm i evm
  2. Create a Web3 HTTP provider and use web3.eth.getCode(contractAddress) to retrieve the contract bytecode.

  3. Construct an EVM instance with the returned bytecode.

  4. Call getFunctions(), getEvents(), and decompile() on the instance to inspect and display the results.

Expected outcome

The example prints parsed function and event signatures and a Solidity-like pseudocode decompilation of the contract bytecode.

Guide limitations

  • Function and event information is parsed from signatures in bytecode; the documentation does not establish that it recovers complete source code.
  • The result depends on successfully retrieving bytecode from the configured Ethereum provider.
Source-based practical guide

Identify a function from Ethereum transaction input in Node.js

Retrieve transaction input data and use the library to identify its associated function.

Before you start

  • Node.js
  • The evm and web3 packages
  • An Ethereum JSON-RPC endpoint accessible through the Web3 HTTP provider
  • A transaction hash

Steps

  1. Install the EVM package with the command below.

    Documented command
    npm i evm
  2. Create a Web3 HTTP provider and retrieve the transaction with web3.eth.getTransaction(transactionHash).

  3. Create a Transaction instance and pass the retrieved input value to setInput().

  4. Call getFunction() and display the returned result.

Expected outcome

The example prints the function associated with the transaction input.

Guide limitations

  • The example relies on retrieving transaction data from the configured Ethereum provider.
  • The documentation does not describe how function identification behaves when input data cannot be parsed.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
15 October 2026
Original website title
MrLuit/evm · Official homepage title · retained in its source language