Crate cfx_executor

source ·
Expand description

Conflux Executor: A Rust crate for the core logic of executing transactions on the Conflux blockchain. It encapsulates all the necessary logic for a consensus node during execution, focusing solely on the execution logic without enhanced features like tracing or trace processing.

Re-exports§

Modules§

  • Execution Context: Implements the context during the execution, like caller’s information and block information. It also ensures compatibility with the context interface of the EVM interpreter.
  • Transaction Execution Entry: Manages the execution of transactions. It is responsible for receiving transactions, performing checks according to the Conflux specification, and submitting them to the execution engine.
  • Conflux Internal Contracts: Implements Conflux’s builtin contracts.
  • Execution Engine Object: Serves as a factory for specifications, builtin contracts (including internal contracts), and the EVM interpreter.
  • Observability Interface: Defines a trait for extending functionality. Extensions can implement this trait to observe detailed aspects of the execution process.
  • Specification Control: Enables fine-grained control over the engine’s behavior during the execution of different blocks, allowing the engine to achieve backward compatibility with different versions of the Conflux specification per hardfork.
  • Stack Management for Execution Engine: Conflux’s execution engine is stack-based. This module manages the stack operations, mainly handling the logic related to pushing and popping frames.
  • Ledger State: Acts as a caching and checkpoint layer built upon semantically meaningful database interfaces for the execution. Ledger State: Acts as a caching and checkpoint layer built upon semantically meaningful database interfaces for the execution.
  • Transaction Execution Tracker: Tracks and records consensus-matters details during transaction execution.

Macros§