Skip to content
forked from paradigmxyz/reth

Modular, contributor-friendly and blazing-fast implementation of the Ethereum protocol, in Rust

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

mouseless0x/reth

Repository files navigation

reth

Blazing-fast implementation of the Ethereum protocol

Github Actions

Directory Structure

This repository contains several Rust crates that implement the different building blocks of an Ethereum node. The high-level structure of the repository is as follows:

  • crates/
    • db/: Strongly typed database bindings to LibMDBX containing read/write access to Ethereum state and historical data (transactions, blocks etc.)
    • executor/: Blazing-fast instrumented EVM using revm. Used during consensus, syncing & during transaction simulation / gas estimation.
    • interfaces/: Traits containing common abstractions across the components used in the system. For ease of unit testing, each crate importing the interface is recommended to create mock/in-memory implementations of each trait.
    • net/
      • p2p: Implements the Ethereum P2P protocol.
      • rpc-api: Traits
        • Supported transports: HTTP, WS, IPC
        • Supported namespaces: eth_, engine_, debug_
      • rpc: Implementation of all ETH JSON RPC traits defined in rpc-api.
      • rpc-types: Types relevant for the RPC endpoints above, grouped by namespace
    • primitives/: Commonly used types in Reth.
    • stages/: The staged sync pipeline, including implementations of each stage.
    • transaction-pool/: An in-memory pending transactions pool.
  • crate-template: Template crate to use when instantiating new crates under crates/.
  • bin/: Where all binaries are stored.
  • examples/: Example usage of the reth stack as a library.

About

Modular, contributor-friendly and blazing-fast implementation of the Ethereum protocol, in Rust

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.7%
  • Makefile 0.2%
  • Mermaid 0.1%
  • Dockerfile 0.0%
  • Shell 0.0%
  • JavaScript 0.0%