Module helpers

Source
Expand description

Behaviour needed to serve eth_ RPC requests, divided into general database reads and specific database access.

Traits with Load prefix, read atomic data from database, e.g. a block or transaction. Any database read done in more than one default Eth trait implementation, is defined in a Load trait.

Traits with Eth prefix, compose specific data needed to serve RPC requests in the eth namespace. They use Load traits as building blocks. EthTransactions also writes data (submits transactions). Based on the eth_ request method semantics, request methods are divided into: EthTransactions, EthBlocks, EthFees, EthState and EthCall. Default implementation of the Eth traits, is done w.r.t. L1.

EthApiServer, is implemented for any type that implements all the Eth traits, e.g. reth_rpc::EthApi.

Re-exports§

pub use block::EthBlocks;
pub use block::LoadBlock;
pub use blocking_task::SpawnBlocking;
pub use call::Call;
pub use call::EthCall;
pub use fee::EthFees;
pub use fee::LoadFee;
pub use pending_block::LoadPendingBlock;
pub use receipt::LoadReceipt;
pub use signer::AddDevSigners;
pub use signer::EthSigner;
pub use spec::EthApiSpec;
pub use state::EthState;
pub use state::LoadState;
pub use trace::Trace;
pub use transaction::EthTransactions;
pub use transaction::LoadTransaction;

Modules§

block
Database access for eth_ block RPC methods. Loads block and receipt data w.r.t. network.
blocking_task
Spawns a blocking task. CPU heavy tasks are executed with the rayon library. IO heavy tasks are executed on the tokio runtime.
call
Loads a pending block from database. Helper trait for eth_ transaction, call and trace RPC methods.
estimate
Estimate gas needed implementation
fee
Loads fee history from database. Helper trait for eth_ fee and transaction RPC methods.
pending_block
Loads a pending block from database. Helper trait for eth_ block, transaction, call and trace RPC methods.
receipt
Loads a receipt from database. Helper trait for eth_ block and transaction RPC methods, that loads receipt data w.r.t. network.
signer
An abstraction over ethereum signers.
spec
Loads chain metadata.
state
Loads a pending block from database. Helper trait for eth_ block, transaction, call and trace RPC methods.
trace
Loads a pending block from database. Helper trait for eth_ call and trace RPC methods.
transaction
Database access for eth_ transaction RPC methods. Loads transaction and receipt data w.r.t. network.

Traits§

FullEthApi
Helper trait to unify all eth rpc server building block traits, for simplicity.
TraceExt
Extension trait that bundles traits needed for tracing transactions.