diff --git a/docs/base-chain/api-reference/flashblocks-api/eth_simulateV1.mdx b/docs/base-chain/api-reference/flashblocks-api/eth_simulateV1.mdx index 18c24eccb..9c83cde4d 100644 --- a/docs/base-chain/api-reference/flashblocks-api/eth_simulateV1.mdx +++ b/docs/base-chain/api-reference/flashblocks-api/eth_simulateV1.mdx @@ -50,15 +50,19 @@ Only available on Flashblocks endpoints: `https://mainnet-preconf.base.org` / `h Array of simulated block results, one per entry in `blockStateCalls`. + Simulated block number (hex). + Simulated block hash. + Total gas used across all calls in this simulated block (hex). + Base fee per gas for this simulated block (hex). Array of individual call results. `"0x1"` for success, `"0x0"` for failure. - Gas used as a hexadecimal integer. - Hex-encoded return data. - Logs emitted (including ETH transfer logs if `traceTransfers` is `true`). - Revert reason if the call failed. Optional. + Gas used by this call (hex). + Hex-encoded return data from the call. + Logs emitted by this call. Includes ETH transfer logs if `traceTransfers` is `true`. + Present if the call reverted. Contains `message` (string) and `code` (number). @@ -97,11 +101,15 @@ curl https://sepolia-preconf.base.org \ "id": 1, "result": [ { + "number": "0x29442bb", + "hash": "0xcefc6e6e...", + "gasUsed": "0x79ce", + "baseFeePerGas": "0xfa", "calls": [ { "status": "0x1", - "gasUsed": "0x5208", - "returnData": "0x", + "gasUsed": "0x79ce", + "returnData": "0x00000000000000000000000000000000000000000000000000000000011420f9", "logs": [] } ] diff --git a/docs/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.mdx b/docs/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.mdx index e3c88fa5a..5e070b541 100644 --- a/docs/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.mdx +++ b/docs/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.mdx @@ -103,15 +103,19 @@ Contains the incremental block state changes for this specific Flashblock. Prese **The `metadata` object is not stable.** Fields may be added, modified, or removed without prior notice. Do not build production dependencies on it — use the [`diff`](#diff-object) object or query finalized block data via standard RPC instead. + +**Azul breaking change:** The `new_account_balances` and `receipts` fields are removed from `metadata` as of the [Azul upgrade](/base-chain/protocol-api/specs/upgrades/azul/overview). After activation, the `metadata` object will only contain `block_number`. + + Block number as a decimal integer. -Map of addresses to their updated ETH balances (hex). Only includes accounts whose balances changed in this Flashblock. -Map of transaction hashes to their [Receipt](#receipt-object) objects. +**Removed in Azul.** Map of addresses to their updated ETH balances (hex). Only includes accounts whose balances changed in this Flashblock. +**Removed in Azul.** Map of transaction hashes to their [Receipt](#receipt-object) objects. Use [`newFlashblockTransactions`](/base-chain/api-reference/flashblocks-api/newFlashblockTransactions) with `full: true` to access receipt fields instead. ### Receipt Object -The abbreviated transaction receipt included in `metadata.receipts`. Check the `type` field to determine transaction type. +The abbreviated transaction receipt included in `metadata.receipts`. **Removed from `metadata` in the Azul upgrade.** Receipt fields are now available on individual transaction objects via the [`newFlashblockTransactions`](/base-chain/api-reference/flashblocks-api/newFlashblockTransactions) subscription with `full: true`. Transaction type: `0x0` Legacy, `0x1` Access List, `0x2` EIP-1559, `0x7e` Deposit (L1→L2). @@ -124,14 +128,27 @@ The abbreviated transaction receipt included in `metadata.receipts`. Check the ` ### Log Object +Log objects appear in `newFlashblockTransactions` (full mode) and in `metadata.receipts` (infrastructure stream, pre-Azul). + Contract address that emitted the event. Array of indexed event parameters. Topic 0 is typically the event signature hash. ABI-encoded non-indexed event parameters. +Hash of the partial block at time of pre-confirmation. Note: this is a Flashblock hash, not a final block hash. +Block number this log belongs to (hex). +Unix timestamp of the block (hex). +Hash of the transaction that emitted this log. +Index of the transaction within the block (hex). +Index of this log within the block (hex). +Always `false` for Flashblocks logs. Would be `true` if a reorg removed the log, which does not apply to Flashblocks. ### Complete Examples + +The examples below show the pre-Azul `metadata` format. After the [Azul upgrade](/base-chain/protocol-api/specs/upgrades/azul/overview), `metadata.new_account_balances` and `metadata.receipts` will no longer be present in the stream. + + **Index 0** — includes the `base` object (block header): ```json diff --git a/docs/base-chain/api-reference/flashblocks-api/newFlashblockTransactions.mdx b/docs/base-chain/api-reference/flashblocks-api/newFlashblockTransactions.mdx index 582955e5f..334861e62 100644 --- a/docs/base-chain/api-reference/flashblocks-api/newFlashblockTransactions.mdx +++ b/docs/base-chain/api-reference/flashblocks-api/newFlashblockTransactions.mdx @@ -4,36 +4,149 @@ sidebarTitle: 'newFlashblockTransactions' description: 'Subscribe to receive each transaction as it is pre-confirmed into a Flashblock. Only available on Flashblocks WebSocket endpoints.' --- -Subscribe via `eth_subscribe` to receive each transaction as it is pre-confirmed into a Flashblock. Pass `true` as the second parameter to receive full transaction and log data. +Subscribe via `eth_subscribe` to receive each transaction as it is pre-confirmed into a Flashblock. Pass `true` as the second parameter to receive the full transaction object, associated logs, and receipt fields. Only available on Flashblocks WebSocket endpoints: `wss://mainnet-preconf.base.org` / `wss://sepolia-preconf.base.org`. -Requires [base/base](https://github.com/base/base) minimum client version v0.3.1. +Requires [base/base](https://github.com/base/base) minimum client version v0.8.0. Receipt fields in `full` mode were added in v0.8.0. Each subscription emits **one item per WebSocket message**. Events arrive approximately every 200ms. If your handler performs heavy processing per event, throttle or debounce it to avoid blocking. + +**Breaking change in v0.8.0:** The `gasUsed` field changed from an optional integer (`null` or `123456`) to a required hex string (`"0x1e240"`). Existing consumers of `newFlashblockTransactions` with `full: true` must update their parsers before upgrading to v0.8.0. + + ## Parameters Must be `"newFlashblockTransactions"`. - - If `true`, each notification includes the full transaction object and associated logs. Defaults to `false` (minimal data only). + + Controls the notification content. Three modes are supported: + + - **`false` (default)** — each notification delivers a transaction hash string. + - **`true`** — each notification delivers the full `TransactionWithLogs` object (transaction fields + logs + receipt fields). + - **Filter object** — pass `{ "address": "0x...", "topics": [...] }` to stream only transactions where at least one emitted log matches the filter. Each matching notification delivers the full `TransactionWithLogs` object. All logs for the transaction are included, not just the matching ones. + + The filter object accepts the same `address` and `topics` fields as `eth_getLogs`. ## Returns - - Hex-encoded subscription ID. +The initial `eth_subscribe` response returns a hex-encoded subscription ID string. After that, the node pushes one notification per WebSocket message for each pre-confirmed transaction. + +**When `full` is `false` (default):** each notification's `result` is a transaction hash string. + +**When `full` is `true`:** each notification's `result` is a transaction object with the following fields: + + + The pre-confirmed transaction object. Only present when `full` is `true`; otherwise `result` is a transaction hash string. + + + Transaction hash. + Sender address. + Recipient address. `null` for contract deployments. + ETH value transferred (hex). + Gas limit (hex). + Effective gas price (hex). + Max fee per gas for EIP-1559 transactions (hex). + Max priority fee per gas for EIP-1559 transactions (hex). + Sender nonce (hex). + ABI-encoded calldata. + Transaction type: `0x0` Legacy, `0x1` Access List, `0x2` EIP-1559. + Chain ID (hex). Base mainnet: `0x2105`. + Block number this transaction was pre-confirmed in (hex). + Index of this transaction within the block (hex). + Always `null` for Flashblocks (block not yet finalized). + EIP-2930 access list entries. + ECDSA signature r value. + ECDSA signature s value. + ECDSA signature v value. + Signature y-parity for EIP-1559/2930 transactions. + Gas actually used by this transaction (hex). **Required** as of v0.8.0 — previously this field was optional and returned as an integer. Update parsers accordingly. + `0x1` for success, `0x0` for failure. Added in v0.8.0. + Cumulative gas used in the block up to and including this transaction (hex). Added in v0.8.0. + Address of the deployed contract for contract-creation transactions. `null` otherwise. Added in v0.8.0. + Bloom filter for the logs in this transaction (hex). Added in v0.8.0. + Event logs emitted by this transaction. See the [Log Object](/base-chain/api-reference/flashblocks-api/flashblocks-api-overview#log-object) schema. + +## Notification Format + +When `full` is `false` (default), each notification delivers a transaction hash: + +```json Notification (default) +{ + "jsonrpc": "2.0", + "method": "eth_subscription", + "params": { + "subscription": "0x1887ec8b9589ccad00000000000532da", + "result": "0xabc123..." + } +} +``` + +When `full` is `true`, each notification delivers the full transaction object. Receipt fields (`gasUsed`, `status`, `cumulativeGasUsed`, `contractAddress`, `logsBloom`) are included directly on the transaction object — there is no nested receipt sub-object: + +```json Notification (full=true) +{ + "jsonrpc": "2.0", + "method": "eth_subscription", + "params": { + "subscription": "0x4f029cbb4655559c37784ec4f3983914", + "result": { + "type": "0x2", + "chainId": "0x2105", + "nonce": "0x36f0", + "gas": "0x26b12", + "maxFeePerGas": "0x146a608", + "maxPriorityFeePerGas": "0xf4240", + "to": "0xda3983e1ea25051b242ec0df4acf18e68d08a212", + "value": "0x0", + "accessList": [], + "input": "0x67243482...", + "r": "0x82df735d...", + "s": "0x431fa018...", + "yParity": "0x1", + "v": "0x1", + "hash": "0xb2ce9822...", + "blockHash": null, + "blockNumber": "0x27920be", + "transactionIndex": "0xbe", + "from": "0x68acbb03...", + "gasPrice": "0xaae286", + "gasUsed": "0x1a4b2", + "status": "0x1", + "cumulativeGasUsed": "0x8f3a1", + "contractAddress": null, + "logsBloom": "0x00200000...", + "logs": [ + { + "address": "0xda3983e1ea25051b242ec0df4acf18e68d08a212", + "topics": ["0xddf252ad..."], + "data": "0x", + "blockHash": "0x000...000", + "blockNumber": "0x27920be", + "blockTimestamp": "0x697c9e5f", + "transactionHash": "0xb2ce9822...", + "transactionIndex": "0xbe", + "logIndex": "0x2d9", + "removed": false + } + ] + } + } +} +``` + ## Example @@ -45,7 +158,45 @@ Each subscription emits **one item per WebSocket message**. Events arrive approx {"jsonrpc": "2.0", "id": 1, "method": "eth_subscribe", "params": ["newFlashblockTransactions", true]} ``` +```json Subscribe (filtered by log) +{ + "jsonrpc": "2.0", + "id": 1, + "method": "eth_subscribe", + "params": [ + "newFlashblockTransactions", + { + "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + "topics": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"] + } + ] +} +``` + ```json Subscription ID Response {"jsonrpc": "2.0", "id": 1, "result": "0x1887ec8b9589ccad00000000000532da"} ``` + +```javascript JavaScript +import WebSocket from 'ws'; + +const ws = new WebSocket('wss://mainnet-preconf.base.org'); + +ws.on('open', () => { + ws.send(JSON.stringify({ + jsonrpc: '2.0', + method: 'eth_subscribe', + params: ['newFlashblockTransactions', true], + id: 1 + })); +}); + +ws.on('message', (data) => { + const msg = JSON.parse(data.toString()); + if (msg.method === 'eth_subscription') { + const tx = msg.params.result; + console.log('Pre-confirmed tx:', tx.hash, '| status:', tx.status); + } +}); +``` diff --git a/docs/base-chain/api-reference/flashblocks-api/newFlashblocks.mdx b/docs/base-chain/api-reference/flashblocks-api/newFlashblocks.mdx index 1eea35ba8..1a1ddded9 100644 --- a/docs/base-chain/api-reference/flashblocks-api/newFlashblocks.mdx +++ b/docs/base-chain/api-reference/flashblocks-api/newFlashblocks.mdx @@ -4,7 +4,7 @@ sidebarTitle: 'newFlashblocks' description: 'Subscribe to receive full Flashblock payload stream as each pre-confirmed block is built. Only available on Flashblocks WebSocket endpoints.' --- -Subscribe via `eth_subscribe` to receive full block state updates as each Flashblock is built. Each message contains the accumulated pre-confirmed state for the block in progress. +Subscribe via `eth_subscribe` to receive the current pending block state as each Flashblock is built. Each message is the **complete accumulated block** — a standard Ethereum block object containing all transactions pre-confirmed so far. Only available on Flashblocks WebSocket endpoints: `wss://mainnet-preconf.base.org` and `wss://sepolia-preconf.base.org`. @@ -15,7 +15,7 @@ Requires [base/base](https://github.com/base/base) minimum client version v0.3.1 -Each subscription emits **one Flashblock Object per WebSocket message**. Events arrive approximately every 200ms. If your handler performs heavy processing per event, throttle or debounce it to avoid blocking. +Multiple notifications are emitted per block height. Each Flashblock (~200ms) triggers a new notification for the same block with more transactions added. This is **accumulating state**, not a diff — every message replaces the previous one. Your handler should treat each notification as the latest known state of the in-progress block. ## Parameters @@ -26,8 +26,35 @@ Each subscription emits **one Flashblock Object per WebSocket message**. Events ## Returns - - Hex-encoded subscription ID. Each event notification delivers a **Flashblock Object** — not a standard block object. The payload contains `payload_id`, `index`, `diff`, and (on index 0) `base`. See the [Infrastructure Stream schema](/base-chain/api-reference/flashblocks-api/flashblocks-api-overview#flashblock-object) for the full structure. +The initial `eth_subscribe` response returns a hex-encoded subscription ID. After that, the node pushes one notification per Flashblock (~200ms). Each notification's `result` is a **standard Ethereum block object** identical in shape to `eth_getBlockByNumber` with `hydrated=true`, but representing the pending (not yet sealed) block. + +Key differences from a sealed block: + +- `transactions` is a full array of transaction objects (always hydrated — hashes are never returned) +- `hash`, `stateRoot`, `receiptsRoot`, `transactionsRoot` reflect the partial block state at time of emission and will differ from the final sealed block values +- The same block `number` will appear in multiple notifications as new Flashblocks accumulate + + + Standard Ethereum block object. Fields match `eth_getBlockByNumber` with `hydrated=true`. + + + Block number (hex). + Partial block hash at the time of this Flashblock. Changes with each emission until the block is sealed. + Hash of the parent block. + Unix block timestamp (hex). + Maximum gas allowed (hex). + Cumulative gas used so far (hex). Increases with each Flashblock. + EIP-1559 base fee per gas (hex). + Fee recipient address (coinbase). + State root at the time of this Flashblock (partial). + Receipts root (partial). + Transactions root (partial). + Bloom filter for logs in the block so far. + Sequencer extra data field. + Full transaction objects for all transactions pre-confirmed so far. Same shape as transactions returned by `eth_getBlockByNumber` with `hydrated=true`. + Validator withdrawals (always empty on Base L2). + Always empty on Base L2. + ## Example diff --git a/docs/base-chain/api-reference/flashblocks-api/pendingLogs.mdx b/docs/base-chain/api-reference/flashblocks-api/pendingLogs.mdx index b17e9c4a3..6bb20f1dc 100644 --- a/docs/base-chain/api-reference/flashblocks-api/pendingLogs.mdx +++ b/docs/base-chain/api-reference/flashblocks-api/pendingLogs.mdx @@ -39,10 +39,55 @@ Each subscription emits **one item per WebSocket message**. Events arrive approx ## Returns - - Hex-encoded subscription ID. +The initial `eth_subscribe` response returns a hex-encoded subscription ID. After that, the node pushes one notification per matching log per WebSocket message. + +Each notification's `result` is a full log object: + + + A single log object matching the filter. + + + Contract address that emitted the log. + Indexed event parameters. Topic 0 is typically the event signature hash. + ABI-encoded non-indexed event parameters. + Hash of the partial block at time of pre-confirmation. Always `"0x0000...0000"` for Flashblocks logs (block not yet sealed). + Block number (hex). + Unix timestamp of the block (hex). + Hash of the transaction that emitted this log. + Index of the transaction within the block (hex). + Index of this log within the block (hex). + Always `false` for Flashblocks logs. + +## Notification Format + +```json Notification +{ + "jsonrpc": "2.0", + "method": "eth_subscription", + "params": { + "subscription": "0xe1f42d3d4c3e4a09c76c98857b01e50d", + "result": { + "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000828bbaee2935085bbb9bc6b72fb65e867205e1b5", + "0x000000000000000000000000dbc6998296caa1652a810dc8d3baf4a8294330f1" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000006bce5f9", + "blockHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "blockNumber": "0x27920d7", + "blockTimestamp": "0x697c9e91", + "transactionHash": "0xa98490d6c1b13a72e7753ba9217269a5059db631deab582b572c4d6c9399c240", + "transactionIndex": "0xb9", + "logIndex": "0x4ec", + "removed": false + } + } +} +``` + ## Example @@ -61,7 +106,11 @@ Each subscription emits **one item per WebSocket message**. Events arrive approx } ``` +```json Subscribe (all logs) +{"jsonrpc": "2.0", "id": 1, "method": "eth_subscribe", "params": ["pendingLogs"]} +``` + ```json Subscription ID Response -{"jsonrpc": "2.0", "id": 1, "result": "0x2a7bc8d4e3f5a6b1c2d3e4f5a6b7c8d9"} +{"jsonrpc": "2.0", "id": 1, "result": "0xe1f42d3d4c3e4a09c76c98857b01e50d"} ``` diff --git a/docs/base-chain/llms-full.txt b/docs/base-chain/llms-full.txt index f3401cbf9..d3fcd9737 100644 --- a/docs/base-chain/llms-full.txt +++ b/docs/base-chain/llms-full.txt @@ -43,12 +43,12 @@ ### API Reference - [Overview](https://docs.base.org/base-chain/api-reference/rpc-overview.md) — Networks, endpoints (Standard and Flashblocks), request/response format, error codes, block parameters, and full method index for all three API groups - [Ethereum JSON-RPC API](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_blockNumber.md) — Core Ethereum protocol methods: account state, blocks, transactions, gas, logs, chain info, and WebSocket subscriptions (28 methods total) -- [Flashblocks API](https://docs.base.org/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.md) — Flashblocks-specific HTTP methods (eth_simulateV1, base_transactionStatus), WebSocket subscriptions (newFlashblockTransactions, pendingLogs, newFlashblocks), and the raw infrastructure stream schema +- [Flashblocks API](https://docs.base.org/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.md) — Flashblocks-specific HTTP methods (eth_simulateV1, base_transactionStatus), WebSocket subscriptions (newFlashblockTransactions with receipt fields as of v0.8.0, pendingLogs, newFlashblocks), and the raw infrastructure stream schema - [Debug API](https://docs.base.org/base-chain/api-reference/debug-api/debug_traceTransaction.md) — EVM execution tracing: debug_traceTransaction, debug_traceBlockByHash, debug_traceBlockByNumber ### Node Operators - [Run a Base Node](https://docs.base.org/base-chain/node-operators/run-a-base-node.md) — Node setup -- [Base Azul Upgrade](https://docs.base.org/base-chain/node-operators/base-v1-upgrade.md) — Migrate to base-reth-node and base-consensus for Azul +- [Base Azul Upgrade](https://docs.base.org/base-chain/node-operators/base-v1-upgrade.md) — Migrate to base-reth-node and base-consensus for Azul; v0.8.0+ required, documents RPC concurrency tuning and WebSocket Engine RPC support - [Performance Tuning](https://docs.base.org/base-chain/node-operators/performance-tuning.md) — Optimization - [Snapshots](https://docs.base.org/base-chain/node-operators/snapshots.md) — Snapshot sync - [Troubleshooting](https://docs.base.org/base-chain/node-operators/troubleshooting.md) — Common fixes diff --git a/docs/base-chain/llms.txt b/docs/base-chain/llms.txt index 8c790637b..ba1e81868 100644 --- a/docs/base-chain/llms.txt +++ b/docs/base-chain/llms.txt @@ -30,12 +30,12 @@ ## API Reference - [Overview](https://docs.base.org/base-chain/api-reference/rpc-overview.md) — Networks, endpoints, request/response format, and full method index - [Ethereum JSON-RPC API](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_blockNumber.md) — Core Ethereum protocol methods (eth_, net_, web3_) -- [Flashblocks API](https://docs.base.org/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.md) — Flashblocks-specific methods, WebSocket subscriptions, and infrastructure stream schema +- [Flashblocks API](https://docs.base.org/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.md) — Flashblocks-specific methods, WebSocket subscriptions (including receipt fields in newFlashblockTransactions as of v0.8.0), and infrastructure stream schema - [Debug API](https://docs.base.org/base-chain/api-reference/debug-api/debug_traceTransaction.md) — EVM execution tracing and block replay ## Node Operators - [Run a Base Node](https://docs.base.org/base-chain/node-operators/run-a-base-node.md) — Setup and operations guide -- [Base Azul Upgrade](https://docs.base.org/base-chain/node-operators/base-v1-upgrade.md) — Migrate to base-reth-node and base-consensus for Azul +- [Base Azul Upgrade](https://docs.base.org/base-chain/node-operators/base-v1-upgrade.md) — Migrate to base-reth-node and base-consensus for Azul; requires v0.8.0+ - [Performance Tuning](https://docs.base.org/base-chain/node-operators/performance-tuning.md) — Optimize node performance - [Snapshots](https://docs.base.org/base-chain/node-operators/snapshots.md) — Snapshot sync to speed up initial node setup - [Troubleshooting](https://docs.base.org/base-chain/node-operators/troubleshooting.md) — Diagnose and fix common node issues diff --git a/docs/base-chain/node-operators/base-v1-upgrade.mdx b/docs/base-chain/node-operators/base-v1-upgrade.mdx index 56efdae6a..8c51e7f06 100644 --- a/docs/base-chain/node-operators/base-v1-upgrade.mdx +++ b/docs/base-chain/node-operators/base-v1-upgrade.mdx @@ -22,8 +22,8 @@ For full details on what's included, see the [Azul specification](/base-chain/sp | Layer | Software | Version | |-------|----------|---------| -| Execution (EL) | [`base-reth-node`](https://github.com/base/base/releases/tag/v0.7.0) | v0.7.0+ | -| Consensus (CL) | [`base-consensus`](https://github.com/base/base/releases/tag/v0.7.0) | v0.7.0+ | +| Execution (EL) | [`base-reth-node`](https://github.com/base/base/releases/tag/v0.8.0) | v0.8.0+ | +| Consensus (CL) | [`base-consensus`](https://github.com/base/base/releases/tag/v0.8.0) | v0.8.0+ | Both clients are available from the [base/node](https://github.com/base/node/releases) repository, where most configuration is preconfigured and can be overridden via environment variables. See the `.env.mainnet` and `.env.sepolia` files for the full list of configurable options. @@ -55,7 +55,7 @@ If you are already running OP Reth via [base/node](https://github.com/base/node) docker compose up ``` -4. Verify client version: `web3_clientVersion` should include `base` in the version string (e.g. `reth/v1.11.3-.../base/v0.7.0`) +4. Verify client version: `web3_clientVersion` should include `base` in the version string (e.g. `reth/v1.11.3-.../base/v0.8.0`) ### Migrating from another client @@ -137,6 +137,7 @@ If you use [base/node](https://github.com/base/node), most variables are already | `OP_NODE_RPC_PORT` | `BASE_NODE_RPC_PORT` | | `OP_NODE_RPC_ENABLE_ADMIN` | `BASE_NODE_RPC_ENABLE_ADMIN` | | `OP_NODE_RPC_ADMIN_STATE` | `BASE_NODE_RPC_ADMIN_STATE` | +| — | `BASE_NODE_RPC_CONCURRENCY` | | `OP_NODE_SAFEDB_PATH` | `BASE_NODE_SAFEDB_PATH` | | `OP_NODE_SYNCMODE` | — | | `OP_NODE_VERIFIER_L1_CONFS` | — | @@ -149,6 +150,12 @@ If you use [base/node](https://github.com/base/node), most variables are already | `OP_NODE_P2P_DISABLE` | — | | `OP_NODE_P2P_NAT` | — | +### Notable base-consensus Options (v0.8.0+) + +**`BASE_NODE_RPC_CONCURRENCY`** — Sets the maximum number of RPC queries processed in parallel. Increase this on nodes serving high request volumes to improve throughput. The default is conservative; tune it based on your available CPU and memory. + +**`BASE_NODE_L2_ENGINE_RPC`** — Now accepts WebSocket schemes (`ws://` or `wss://`) in addition to HTTP for the Engine API connection. Use a WebSocket scheme when your execution client is configured to serve the Engine API over WebSocket. + ## FAQ - **Do I need to re-sync?** Not if you are already running OP Reth. Existing data is compatible. diff --git a/docs/docs.json b/docs/docs.json index 241800d27..de13fa8db 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -9,14 +9,21 @@ }, "favicon": "/logo/favicon.png", "contextual": { - "options": ["copy", "view", "claude", "chatgpt"] + "options": [ + "copy", + "view", + "claude", + "chatgpt" + ] }, "api": { "playground": { "display": "simple" }, "examples": { - "languages": ["javascript"] + "languages": [ + "javascript" + ] } }, "seo": { @@ -32,7 +39,9 @@ "groups": [ { "group": "Introduction", - "pages": ["get-started/base"] + "pages": [ + "get-started/base" + ] }, { "group": "Quickstart", @@ -148,32 +157,32 @@ "group": "Ethereum JSON-RPC API", "pages": [ "base-chain/api-reference/ethereum-json-rpc-api/eth_blockNumber", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getBalance", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getCode", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getStorageAt", "base-chain/api-reference/ethereum-json-rpc-api/eth_call", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber", + "base-chain/api-reference/ethereum-json-rpc-api/eth_chainId", + "base-chain/api-reference/ethereum-json-rpc-api/eth_estimateGas", + "base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory", + "base-chain/api-reference/ethereum-json-rpc-api/eth_gasPrice", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getBalance", "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByHash", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber", "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockReceipts", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByNumber", "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByHash", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByHash", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByNumber", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getCode", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getLogs", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getStorageAt", "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockHashAndIndex", "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockNumberAndIndex", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByHash", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount", "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt", - "base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction", - "base-chain/api-reference/ethereum-json-rpc-api/eth_gasPrice", "base-chain/api-reference/ethereum-json-rpc-api/eth_maxPriorityFeePerGas", - "base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory", - "base-chain/api-reference/ethereum-json-rpc-api/eth_estimateGas", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getLogs", - "base-chain/api-reference/ethereum-json-rpc-api/eth_chainId", + "base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction", + "base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe", "base-chain/api-reference/ethereum-json-rpc-api/eth_syncing", + "base-chain/api-reference/ethereum-json-rpc-api/eth_unsubscribe", "base-chain/api-reference/ethereum-json-rpc-api/net_version", - "base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion", - "base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe", - "base-chain/api-reference/ethereum-json-rpc-api/eth_unsubscribe" + "base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion" ] }, { @@ -409,7 +418,9 @@ "groups": [ { "group": "Introduction", - "pages": ["base-account/overview/what-is-base-account"] + "pages": [ + "base-account/overview/what-is-base-account" + ] }, { "group": "Quickstart", @@ -658,7 +669,9 @@ }, { "group": "Growth", - "pages": ["apps/growth/rewards"] + "pages": [ + "apps/growth/rewards" + ] }, { "group": "Builder Codes", @@ -676,7 +689,9 @@ "groups": [ { "group": "Overview", - "pages": ["ai-agents/index"] + "pages": [ + "ai-agents/index" + ] }, { "group": "Quickstart", @@ -799,7 +814,6 @@ ] }, "redirects": [ - { "source": "/base-chain/reference/json-rpc-api", "destination": "/base-chain/api-reference/rpc-overview" @@ -3090,4 +3104,4 @@ "measurementId": "G-TKCM02YFWN" } } -} +} \ No newline at end of file