Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

52 changes: 52 additions & 0 deletions crates/builder/op-rbuilder/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# `op-rbuilder`

<a href="https://github.com/base/node-reth/actions/workflows/ci.yml"><img src="https://github.com/base/node-reth/actions/workflows/ci.yml/badge.svg?label=ci" alt="CI"></a>
<a href="https://github.com/base/node-reth/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-MIT-d1d1f6.svg?label=license&labelColor=2a2f35" alt="MIT License"></a>

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).
4 changes: 4 additions & 0 deletions crates/builder/op-rbuilder/src/lib.rs
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
Loading