Practical overview
When it fits
Use Evmole when you have EVM bytecode and need inferred contract-interface or implementation details, particularly when verified source code is unavailable.
Who it is for
- Smart-contract developers inspecting deployed contracts
- Security and protocol researchers examining EVM bytecode
- Developers building contract-inspection tools or agent-driven bytecode workflows
Documented uses
- Infer callable function selectors and argument types from deployed bytecode.
- Inspect likely persistent and transient storage layouts and control flow.
- Extract compiler-related CBOR metadata from bytecode.
- Add bytecode analysis to JavaScript, Rust, Python or Go applications, scripts or agent workflows.
Requirements & limits
The project is open source under the MIT license. The README documents JavaScript, Rust, Python and Go libraries, as well as a JSON CLI and agent integrations.
- The library accepts bytecode as input; it does not require a verified source listing for the documented analysis.
- Choose among JavaScript, Rust, Python and Go bindings based on the language of the integrating application.
- Evmole reports inferred information, so results should be treated as bytecode analysis rather than source-level confirmation.
- The repository documents selector-dispatch classification and terminal CBOR metadata extraction in addition to interface and storage analysis.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Analyze bytecode with the JavaScript library
Use the documented JavaScript binding to request inferred selectors, argument types and state mutability from EVM bytecode.
Before you start
- Node.js or a supported JavaScript bundler environment listed in the README
- The Evmole package installed with npm
- EVM bytecode as a hex string
Steps
Install the package with the command below.
npm i evmoleImport
contractInfofromevmolein JavaScript.Pass the bytecode to
contractInfoand enable theselectors,argumentsandstateMutabilityoptions.Inspect the returned function details, including selector, inferred arguments and mutability where available.
Expected outcome
A contract-information result containing inferred function details for the supplied bytecode.
Guide limitations
- The output is inferred from bytecode and is not a substitute for verified source code.
- The documented example demonstrates selected function fields; it does not establish that every contract will yield complete interface details.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 9 October 2026
- Original website title
- cdump/evmole · Official homepage title · retained in its source language

