Skip to content

docs(site): document 3.7 RPC, config, txpool and compaction changes - #24490

Merged
bloxster merged 5 commits into
mainfrom
docs/v37-features-main
Oct 2, 2026
Merged

bloxster merged 5 commits into
mainfrom
docs/v37-features-main

Conversation

@bloxster

@bloxster bloxster commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Documents 3.7 changes the docs did not cover. Each claim was checked against this branch's source.

Configuration

  • --caplin.builder.allow-private-urls: lets validator-submitted builder URLs resolve to private or loopback addresses; does not apply to --caplin.mev-relay-url (cl/beacon/builder/client.go).
  • --http.compression: Zstandard or gzip per the client's Accept-Encoding, for responses of 1 KiB or more (node/rpcstack.go).
  • MAX_REORG_DEPTH: once a finalized block is known (after the initial sync cycle), reorg data is kept back to it instead; the value still caps newPayload ancestor download and side-fork validation (execution/execfinality/context.go).

RPC

  • erigon_getLogs, erigon_getLatestLogs, erigon_getLogsByHash: block time as blockTimestamp (was timestamp).
  • Fork-gated call fields: access lists before Berlin, blob hashes before Cancun, and the blob checks from Cancun on, with their errors (ValidateBlobPrerequisites).
  • eth_syncing during snapshot download and the new eth_subscribe("syncing").
  • blockTimestamp on filter and subscription logs.
  • callTracer withLog: block-wide log indices; failed CREATE frames have no to.

Operations

  • GOMEMLIMIT defaults to 80% of the lower of RAM and the cgroup limit (FAQ Fix CircleCI #29, OOM entry).
  • Automatic MDBX compaction at startup (free pages ≥ 10 GB and > 4× live data).
  • EIP-7702 delegated senders: one in-flight transaction at the current nonce.

Branch-specific (main)

Same content on release/3.7: #24491. npm run build, the script tests and generate-llms.py --check pass.

Bloxster added 3 commits October 1, 2026 16:51
- --caplin.builder.allow-private-urls (cmd/utils/flags.go, added with
  Gloas builder preferences): lets validator-submitted builder URLs
  resolve to private or loopback addresses; other non-public ranges stay
  blocked, and --caplin.mev-relay-url is unaffected
  (cl/beacon/builder/client.go isAllowedBuilderIP).
- erigon_getLogs / erigon_getLatestLogs return the block time as
  blockTimestamp (was timestamp, ErigonLog), matching eth_getLogs, and
  erigon_getLogsByHash now includes it (rpc/jsonrpc/erigon_receipts.go).
- --http.compression serves Zstandard when the client sends
  Accept-Encoding: zstd, gzip otherwise, for bodies of 1 KiB or more
  (node/rpcstack.go).
- GOMEMLIMIT now defaults to 80% of the lower of RAM and the cgroup
  limit unless set; GOMEMLIMIT=off leaves the heap unbounded
  (node/debug/gomemlimit.go). FAQ #29 and the OOM entry said nothing of it.
- eth: fork-gated call fields (access lists before Berlin, blob hashes
  before Cancun; execution/protocol/txn_executor.go preCheck),
  eth_syncing during snapshot download and the new
  eth_subscribe("syncing") (rpc/jsonrpc/eth_subscribe_syncing.go,
  node/shards/sync_state.go), and blockTimestamp on filter and
  subscription logs (rpc/rpchelper/logsfilter.go).
- debug: callTracer withLog indices are block-wide; failed CREATE
  frames omit "to" (eth/tracers/native/call.go).
- txpool: EIP-7702 delegated senders get one in-flight transaction at
  the current nonce (txnprovider/txpool/pool.go).
- database: automatic compaction at startup when free pages are at
  least 10 GB and over 4x live data (db/kv/backup/datadir.go).
- MAX_REORG_DEPTH only bounds reorg data until a finalized block is
  known (execution/execfinality/context.go).
- eth_callMany joins the pending-rejection list (eth_callMany.go).
- Blob-hash rows apply from Cancun on: before Cancun every blob call
  gets "BlobTx transactions require Cancun" (ValidateBlobPrerequisites
  checks Cancun first). Add the invalid-version-byte row, and stop
  presenting the method list as exhaustive.
- --http.compression follows the client's Accept-Encoding; a client
  accepting neither encoding gets an uncompressed response.
- eth_syncing reports synced when fewer than 8 blocks behind; the
  syncing subscription only seeds a last state if one was reported.
- MAX_REORG_DEPTH: finality is ignored during the initial sync cycle,
  and the value still caps newPayload ancestor download and side-fork
  validation (block_downloader.go, exec_module.go).
- txpool: delegated replacement needs the usual price bump; the trim
  leaves at most one transaction.
- debug: the callTracer note is an admonition, not a method heading.
- main: add the chainId rejection from #24414 (-32602; -32000 for
  eth_simulateV1 and eth_fillTransaction).

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The documented behavior matches the corresponding implementation, and the generated documentation copies remain synchronized.

Review effort: Balanced
Findings: None

What changed in this PR

Documents previously uncovered Erigon 3.7 behavior across configuration, RPC, storage, memory management, and transaction handling.

Changes:

  • Expands RPC and configuration reference material.
  • Documents MDBX compaction, memory defaults, and EIP-7702 txpool limits.
  • Regenerates both LLM documentation exports.
File Description
llms-full.txt Regenerates the complete LLM reference.
docs/​site/​static/​llms-full.txt Mirrors the regenerated LLM reference.
docs/​site/​help-center/​frequently-asked-questions-faqs.mdx Explains the default memory limit.
docs/​site/​help-center/​common-errors-and-solutions.md Updates OOM mitigation guidance.
docs/​site/​docs/​interacting-with-erigon/​eth.md Documents call validation, syncing, and log timestamps.
docs/​site/​docs/​interacting-with-erigon/​erigon.md Documents log timestamp fields.
docs/​site/​docs/​interacting-with-erigon/​debug.md Clarifies callTracer output.
docs/​site/​docs/​fundamentals/​modules/​txpool.md Documents delegated-sender limits.
docs/​site/​docs/​fundamentals/​database.md Documents automatic startup compaction.
docs/​site/​docs/​fundamentals/​configuring-erigon.mdx Expands flag and reorganization-depth descriptions.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread docs/site/docs/interacting-with-erigon/eth.md Outdated
Comment thread docs/site/docs/interacting-with-erigon/eth.md Outdated
Comment thread docs/site/help-center/frequently-asked-questions-faqs.mdx Outdated
…xample

- eth_syncing: the 8-block distance is absolute, so a node ahead of a
  stale highest block reports syncing with highestBlock == currentBlock.
- eth_subscribe("syncing"): a slow client can miss intermediate states
  (SendLatest on an 8-entry buffer drops the oldest).
- GOMEMLIMIT example: 26GiB exceeds the 80% default on a 32 GB host; use
  20GiB.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The documented eth_syncing threshold incorrectly classifies the exact eight-block boundary.

Review effort: Balanced
Findings: 1 Low severity

Open (1)

Comment thread docs/site/docs/interacting-with-erigon/eth.md Outdated

@yperbasis yperbasis left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved with two non-blocking documentation findings below.

Validation passed: the site build, 13 JavaScript tests, 226 Python tests, and the generated documentation consistency check.

Comment thread docs/site/docs/interacting-with-erigon/eth.md Outdated
Comment thread docs/site/docs/interacting-with-erigon/eth.md Outdated
@bloxster
bloxster added this pull request to the merge queue Oct 2, 2026
Merged via the queue into main with commit 42ee690 Oct 2, 2026
28 checks passed
@bloxster
bloxster deleted the docs/v37-features-main branch October 2, 2026 12:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants