Skip to content

eth-applied-research-group/odometer

Repository files navigation

Odometer

Odometer

A tool for benchmarking Ethereum clients.

Warning

This tool is under active development and the benchmarking methodology has not yet been thoroughly reviewed. Results should be interpreted with caution.

Prerequisites

Docker required.

Usage

  • Start up docker cli

  • Run the binary using one of these commands:

    cargo run                    # Run tests for all clients
    cargo run --client geth      # Run tests for geth only
    cargo run --client reth      # Run tests for reth only

    You can use -c as a shorter alternative to --client.

Project structure

Cargo.toml                  # Workspace configuration
📁 clients                  # Docker files for clients
├── geth.yaml
└── ...
📁 config
├── config.toml             # Project configuration
├── genesis.json            # Genesis configuration
├── jwt.hex                 # Jwt token
└── 📁 docker               # Docker configurations
    ├── common.yaml         # Base docker service
    └── entrypoint.sh       # Docker entrypoint
📁 profiler                 # Benchmarking logic
├── Cargo.toml
└── 📁 src
    ├── bench_summary.rs    # Payload interface
    ├── docker.rs           # Docker interface
    ├── engine_api.rs       # Engine API interface
    ├── kute.rs             # Client interface
    └── main.rs             # Entrypoint

License

MIT/APACHE

Acknowledgements

The idea to use engine api and benchmark engine api requests was from Nethermind's gas benchmarking tool

About

A tool for benchmarking Ethereum clients.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE.txt
MIT
LICENSE-MIT.txt

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •