A repository for building Geth and other EVM execution clients with native ERC-4337 tracers.
| Client | Release version | Pre-built docker image | Build binary from source |
|---|---|---|---|
| go-ethereum | v1.13.15 |
✅ | ✅ |
| bor (Polygon PoS) | v1.4.1 |
❌ | ✅ |
| nitro (Arbitrum) | v3.2.1 |
✅ | ❌ |
| op-geth (Optimism) | v1.101408.0 |
✅ | ❌ |
| base-node (Base) | v0.10.2 |
✅ | ❌ |
| bsc (Binance Smart Chain) | v1.4.15 |
❌ | ✅ |
| avalanchego (Avax) | v1.11.8 |
❌ | ✅ |
Pre-built docker images are available at the following repositories. The tags correlate to the execution client's commit ref that the tracer was compiled with.
Alternatively, you can build all binaries from source by cloning this repository.
Note that this repository uses git submodules to build execution clients based on a pinned release version. Make sure to include the --recurse-submodules flag in your git clone command.
git clone --recurse-submodules https://github.com/stackup-wallet/erc-4337-execution-client-builder.gitMost clients will require the following system dependencies to successfully compile:
- Go 1.21
Use the following scripts to build a client from source with native ERC-4337 tracers included.
$CLIENT can be replaced with one of the currently supported execution clients:
go-ethereumbornitroop-gethbase-nodebscavalanchego
./build_scripts/$CLIENT.shAll binaries will be available in the ./builds/$CLIENT directory.
See the documentation on Geth's custom EVM tracers for details on setting up a dev environment for tracer iterations.
Distributed under the GPL-3.0 License. See LICENSE for more information.
Feel free to direct any technical related questions to the dev-hub channel in the Stackup Discord.
