diff --git a/Cargo.lock b/Cargo.lock index 3919c0d5..92b871fa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1742,7 +1742,6 @@ dependencies = [ "alloy-contract", "alloy-eips", "alloy-genesis", - "alloy-op-evm", "alloy-primitives", "alloy-provider", "alloy-rpc-client", diff --git a/crates/builder/op-rbuilder/README.md b/crates/builder/op-rbuilder/README.md new file mode 100644 index 00000000..f393c44f --- /dev/null +++ b/crates/builder/op-rbuilder/README.md @@ -0,0 +1,52 @@ +# `op-rbuilder` + +CI +MIT License + +Optimism block builder for Base. Provides payload building infrastructure with support for standard block production and flashblocks, which progressively builds block chunks at sub-second intervals. + +## Overview + +- **`FlashblocksBuilder`**: Progressive block builder that produces block chunks at short intervals, publishing them via WebSocket before merging into full blocks. +- **`StandardBuilder`**: Traditional block builder that produces complete blocks at each chain block time. +- **`BuilderMode`**: Configuration enum to select between `Standard` and `Flashblocks` modes. +- **`GasLimiter`**: Dynamic gas limit management based on configurable policies. +- **`RevertProtection`**: RPC extension for protecting transactions from reverts. +- **`TxDataStore`**: Transaction data storage and retrieval service. +- **`Signer`**: Transaction signing utilities for builder operations. + +## Binaries + +- **`op-rbuilder`**: Main builder binary with full node capabilities. +- **`tester`**: Testing utility binary (requires `testing` feature). + +## Features + +- `jemalloc`: Use jemalloc allocator (default). +- `testing`: Enable testing utilities and framework. +- `telemetry`: Enable OpenTelemetry integration. +- `interop`: Enable interoperability features. +- `custom-engine-api`: Enable custom engine API extensions. + +## Usage + +Add the dependency to your `Cargo.toml`: + +```toml +[dependencies] +op-rbuilder = { git = "https://github.com/base/node-reth" } +``` + +Run the builder: + +```bash +# Standard mode +op-rbuilder node --builder.mode standard + +# Flashblocks mode +op-rbuilder node --builder.mode flashblocks +``` + +## License + +Licensed under the [MIT License](https://github.com/base/node-reth/blob/main/LICENSE). diff --git a/crates/builder/op-rbuilder/src/lib.rs b/crates/builder/op-rbuilder/src/lib.rs index e51b57f1..d0624bcd 100644 --- a/crates/builder/op-rbuilder/src/lib.rs +++ b/crates/builder/op-rbuilder/src/lib.rs @@ -1,4 +1,8 @@ #![allow(missing_docs)] +#![doc = include_str!("../README.md")] +#![doc(issue_tracker_base_url = "https://github.com/base/node-reth/issues/")] +#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] +#![cfg_attr(not(test), allow(unused_crate_dependencies))] pub mod args; pub mod builders;