All Classes and Interfaces

Class
Description
Base interface for Besu plugins.
All services that can be resolved via ServiceManager.getService(Class) must implement BesuService
The parts of a Block not in the BlockHeader, information corresponding to the comprised transactions in BlockBody.getTransactions(), and a set of other block headers in BlockBody.getOmmers(), as defined in the Ethereum Yellow Paper.
The minimum set of data for a BlockHeader, as defined in the Ethereum Yellow Paper.
Core configuration of the Besu node.
The interface Enode url.
A Log entry from a transaction execution.
A service that plugins can use to add CLI options and commands to the BesuCommand.
The minimum set of data for a BlockHeader, as defined in the Ethereum Yellow Paper.
Adds and accesses BesuServices for plugins to provide or use.
A basic implementation of ServiceManager, suitable for tests.
This interface represents the result of processing a transaction.
A transaction receipt, containing information pertaining to a transaction execution.
This annotation is an indicator that the interface or method may evolve in a way that it not backwards compatible.
A withdrawal is a system-level operation to support validator withdrawals that are pushed from the beacon chain to EVM.
A counter is a metric to track counts of events or running totals etc.
Record of summary data the is kept outside the metric system.
Represent a single quantile and its value
A histogram samples observations (usually things like request durations or response sizes) and counts them in configurable buckets.
A metric with labels associated.
The interface Labelled gauge.
The interface Labelled supplied summary.
A MetricCategory is used to group related metrics.
Allow registration of MetricCategory instances so they are recognised by the metrics system and can be enabled.
An interface for creating various Metrics components.
A timer metric that records duration of operations for metrics purposes.
An interface for stopping the timer and returning elapsed time.
Represents a PublicKey function which provides ECPoint
Provides a generic interface for classes which wrap/hide a cryptographic private key.
SecurityModuleException can be thrown by operations of SecurityModule
This service allows plugins to register a Security Module, which is abstraction of cryptographic operations that defer to specific provider (e.g.
Represents R and S component of a Signature obtained through sign function
Allows you to register a provider that will decide if a peer connection is permitted.
Allows you to register a provider that will decide if a devp2p message is permitted.
This service allows plugins to decide who you should connect to and what you should send them.
Allows you to register a provider that will decide if a transaction is permitted.
Generally useful configuration provided by Besu.
Data storage configuration
Supported database storage format
Responsible for storing values against keys.
Factory for creating key-value storage instances.
A transaction that can atomically commit a sequence of operations to a key-value store.
Service provided by Besu to facilitate persistent data storage.
record type used to wrap responses from getNearestTo, includes the matched key and the value.
A transaction that can atomically commit a sequence of operations to a segmented key-value store.
A namespace identifier for the storage instance segment, a grouping of data that should be kept isolated from the data of other segments.
The interface Snappable key value storage.
The interface Snapped key value storage.
Storage configuration of the Besu node.
Base exception class for problems encountered in the domain for storage.
This service allows plugins to register as an available storage engine.
A P2P protocol capability for plugin use.
A P2P network message received from another peer for plugin use.
Service giving plugins access to the peer-to-peer network, letting them query peers and connections, subscribe to connect, disconnect and message events, send messages to specific peers and control the P2P network lifecycle.
Consumer of network connection events.
Consumer of network disconnection events.
Consumer of network message events.
A P2P peer for plugin use.
A P2P connection to another node for plugin use.
Exception thrown when attempting to send to a disconnected peer.
Peer information for plugin use.
Interface for the transaction validator plugin for txpool usage
Interface for a factory that creates transaction validators for txpool usage
Service to control and inspect the transaction pool: enable or disable the pool, query whether it is currently enabled, and read the pending transactions.
Service for transaction pool validation: plugins register a PluginTransactionPoolValidatorFactory here, and the transaction pool calls TransactionPoolValidatorService.createTransactionValidator() to obtain the validator it consults before adding a transaction to the pool.
Synchronization service wraps the sync state and sync event lifecycle.
The interface Sync status.
This service lets plugins provide custom implementations for Besu's built-in health check endpoints.
Functional interface for health check providers.
Result of a health check evaluation, including optional diagnostic details.
Functional interface for accessing query parameters.
Base exception class for problems encountered in the RpcEndpointService.
The request handed to a registered RPC endpoint, carrying the raw call parameters.
The response returned by an in-process RPC call.
RPC configuration of the Besu node.
This service allows you to add functions exposed via RPC endpoints.
The RpcMethodError interface defines the structure for RPC error handling within the context of plugins.
Represents a JSON-RPC response, carrying the response type
Various types of responses that the RPC component may produce.
Provides context information about a block that has been added to the blockchain.
Defines the different types of block addition events that can occur in the blockchain.
Represents the reason a block is marked as "bad"
An enum representing the reason why a block is marked bad
A service for reading the blockchain: blocks, headers, receipts, transactions, the chain id and fork identity.
The minimum set of data for a BlockContext.
A Log entry from a transaction execution.
The minimum set of data for a PropagatedBlockContext.
RLP serialization and deserialization service.
An interface for interacting with TrieLog objects, which represent changes to accounts, code, and storage in a blockchain state trie.
An interface representing a tuple of prior and updated values for a specific type T in a log.
Accumulator interface for providing trie updates for creating TrieLogs.
A TrieLog event.
Observer interface for TrieLog events.
The type of the event.
Interface for creating, serializing and deserializing TrieLog objects.
Trielog provider interface for a given block hash.
Block and TrieLog layer composition, used for returning a range of TrieLog layers.
A service interface for registering observers for trie log events.
A service that plugin can use to access world state
Represents a mutable view of the Ethereum world state, allowing queries and modifications to account balances, nonces, code, and storage.
Computes the state root when a block's world state is persisted.
Result of state-root computation: root hash and deferred storage writes.
Storage interface for Ethereum world state data backed by a key-value store.
Callback interface for observing trie node insertions into world state storage.
A write transaction for batching mutations to world state storage.
Stores and retrieves preimage mappings for the Ethereum world-state trie.
A write transaction for batching preimage insertions into world state preimage storage.
An extended operation tracer that can trace the start and end of a block.
The Block import tracer provider.
BlockOverrides represents the block overrides for a block.
Builder for BlockOverrides.
This class is a service that simulates the processing of a block
Represents the result of tracing a block, containing information about the transaction traces.
A builder class for constructing a BlockTraceResult.
This class represents the result of simulating the processing of a block.
The Trace service interface
The result of simulating a transaction: the transaction that was run and the outcome of processing it.
Transaction simulation service interface
Enumeration of simulation parameters that control validation behavior during transaction simulation.
Represents the result of tracing a transaction, including its status and optional error message.
Enumeration representing the status of the transaction trace.
This class represents an abstract plugin transaction selector which provides methods to manage the selector state.
A service that can be used by plugins to include their pending transactions during block creation.
Deprecated, for removal: This API element is subject to removal in a future version.
no known plugin uses this service, so it is scheduled for removal from the plugin API.
Interface for the transaction selector
Interface for a factory that creates transaction selector and propose pending transaction for block inclusion
Manages the state of transaction selectors (including the plugin transaction selector PluginTransactionSelector) during the block creation process.
A function that create a duplicate of the input object.
The context in which a candidate transaction is evaluated for block inclusion: the pending block header, the pending transaction, the evaluation timer, the transaction gas price, the minimum gas price for inclusion, and whether the evaluation has been cancelled.
Represent the result of the selection process of a candidate transaction, during the block creation phase.
Represent the status of a transaction selection result.
Transaction selection service interface
Marker supertype of every transaction selector.
This service allows plugins to attach to various events during the normal operation of Besu.
The interface defining bad block listeners
The listener interface for receiving new block added events.
The listener interface for receiving new block propagated events.
The listener interface for receiving new block reorg events.
The interface Initial sync completion listener.
The listener interface for receiving log events.
The listener interface for receiving sync status events.
The listener interface for receiving new transaction added events.
The listener interface for receiving transaction dropped events.
The interface TTD reached listener.
Deprecated, for removal: This API element is subject to removal in a future version.
This service is scheduled for removal in a future release, with no replacement, as it has no known usage.
Deprecated, for removal: This API element is subject to removal in a future version.
This type is scheduled for removal from the plugin API in a future release, with no replacement.
Deprecated, for removal: This API element is subject to removal in a future version.
This service is scheduled for removal in a future release, with no replacement, as it has no known usage.
Deprecated, for removal: This API element is subject to removal in a future version.
This type is scheduled for removal in a future release, with no replacement.
Deprecated, for removal: This API element is subject to removal in a future version.
This type is scheduled for removal in a future release, with no replacement.
Deprecated, for removal: This API element is subject to removal in a future version.
This type is scheduled for removal in a future release, with no replacement.
Allows you to implement a custom transaction validator
Service to add additional transaction validation rules
Deprecated, for removal: This API element is subject to removal in a future version.
This type is scheduled for removal in a future release, with no replacement.