A simple mock builder implementation that serves local mempool transactions from an Ethereum node through the Builder API flow. It works as a wrapper over Lighthouse's mock-builder which is used for lighthouse tests. This means that as Lighthouse implements support for new forks, the builder automatically gets support for the fork by just pointing it to the right lighthouse commit.
The name references both its implementation language (Rust) and its rustic nature - serving farm-to-table payloads from your local execution client.
Note: This currently does not support updating the gas limit at runtime based on the validator registrations. It is meant to use in a controlled kurtosis like setup where the gas limit does not change over the duration of the testnet.
cargo build --release
docker build -t rustic-builder .
Needs a fully synced ethereum node (Beacon node + Execution client)
./target/release/rustic-builder --execution-endpoint http://localhost:8551 --beacon-node http://localhost:5052 --jwt-secret jwt.hex --port 8560
docker run -p 8560:8560 \
-v /path/to/jwt.hex:/jwt.hex \
rustic-builder \
--execution-endpoint http://execution-client:8551 \
--beacon-node http://beacon-node:5052
Note: When running with Docker, make sure to:
- Mount your JWT secret file
- Use appropriate network settings (--network host if running nodes locally)
- Adjust the execution/beacon endpoints to match your setup