Repository navigation
docs(site): document 3.7 RPC, config, txpool and compaction changes - #24490
Merged
Merged
Conversation
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).
Contributor
There was a problem hiding this comment.
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.
awskii
reviewed
Oct 2, 2026
…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.
yperbasis
approved these changes
Oct 2, 2026
yperbasis
left a comment
Member
There was a problem hiding this comment.
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

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'sAccept-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 asblockTimestamp(wastimestamp).ValidateBlobPrerequisites).eth_syncingduring snapshot download and the neweth_subscribe("syncing").blockTimestampon filter and subscription logs.callTracerwithLog: block-wide log indices; failed CREATE frames have noto.Operations
GOMEMLIMITdefaults to 80% of the lower of RAM and the cgroup limit (FAQ Fix CircleCI #29, OOM entry).Branch-specific (
main)eth_callManyrejectspending; a call object with another chain'schainIdis rejected (rpc/ethapi, rpc/jsonrpc: reject a call object whose chainId is not the node's #24414).eth_syncingand the subscription report the block where the sync session began.blockTimestamp, Sepolia Glamsterdam) follow once docs(site): 3.6.1 disk sizes and sync times, x86-64-v2 CPU baseline, 3.7 upgrade notes #24436 brings the "Upgrading from 3.6 to 3.7" section tomain.Same content on
release/3.7: #24491.npm run build, the script tests andgenerate-llms.py --checkpass.