EchoEVM for VS Code
Compile, deploy, run, and explain Solidity functions
without starting a local JSON-RPC node. EchoEVM keeps execution evidence next
to the source and exposes the complete opcode trace only when requested.
Two-minute start
- Install the extension.
- Run EchoEVM: Setup and Diagnose Toolchain. On macOS, the extension installs
EchoEVM from
smallyunet/tap/echoevm with Homebrew. On Linux and Windows, it
downloads the matching CLI from GitHub Releases and verifies it against the
published SHA256SUMS file.
- Run EchoEVM: Open Getting Started Example.
- Choose Run Example, then Show Trace.
The EchoEVM status-bar item shows whether the CLI and compiler are ready. Click
it at any time to diagnose or repair the toolchain.
Requirements
On macOS, setup requires Homebrew and installs the public
smallyunet/tap/echoevm formula. The extension stores the formula's absolute
executable path so it also works when VS Code is launched outside a shell. On
Linux and Windows, the extension installs a release-matched EchoEVM CLI into its
private global storage. It discovers workspace-local node_modules/.bin/solc
and solcjs on macOS and Linux, then falls back to its bundled solc-js 0.8.30
compiler. Foundry workspaces use an installed SVM compiler matching
solc_version or a semantic solc pin before those fallbacks. The CLI reads
foundry.toml and remappings.txt for import remappings, optimizer settings,
optimizer runs, and via_ir. On Windows, npm .cmd launchers are skipped and
the bundled compiler is used. You can select a native compiler through the
setup command or configure echoevm.executablePath and echoevm.solcPath.
For Remote SSH, Dev Containers, and WSL, tools are resolved and managed in the
remote extension runtime rather than on the local desktop.
Usage
- Open a trusted workspace and a
.sol file.
- Run EchoEVM: Run Solidity Function.
- Select a deployable contract and ABI function.
- Enter constructor and function arguments when prompted.
- Review the result in the EchoEVM output channel. Run EchoEVM: Show Last Trace for the opcode table.
Source-aware execution evidence
Every Solidity function declaration has an EchoEVM Run CodeLens action.
After a run, the extension:
- shows the latest status and gas usage beside the relevant source line;
- reports a concrete REVERT or fault in VS Code Problems;
- fills the EchoEVM: Execution Evidence view with gas, state,
and selected control/state-changing opcodes;
- maps terminal opcodes back to Solidity when the CLI
provides a runtime source map; and
- keeps the full opcode table available through Show Last Trace.
Inline results describe only the executed input. They are not static security
findings. Disable them with echoevm.inlineResults, or disable function actions
with echoevm.codeLens.
Trust and downloads
On macOS, EchoEVM delegates CLI installation to Homebrew using the fully
qualified smallyunet/tap/echoevm formula. On Linux and Windows, it only
downloads CLI assets from smallyunet/echoevm GitHub Releases and rejects a
binary unless its SHA-256 digest matches that release's checksum manifest. The
bundled compiler does not modify the workspace or global package manager.
Projects that pin another compiler can select it explicitly. Non-Foundry
workspaces can configure echoevm.remappings, echoevm.optimizerRuns, and
echoevm.viaIR directly.
This release targets Cancun through Osaka and does not provide Foundry cheatcodes, RPC
forking, payable calls, or source-level breakpoints.