github erigontech/erigon v3.4.0-rc.5

pre-release12 hours ago

Erigon v3.4.0-rc.5

Key Features

  • Fast restart on ChainTip: no more blocking indexing or pruning at startup; Caplin doesn't lose its download progress.
  • 4x smaller Chaindata (~20 GB): improves ChainTip speed. Available via re-sync, or by running ./build/bin/erigon seg step-rebase --datadir=<your_path> --new-step-size=390625 (takes ~10 seconds).
  • Historical eth_getProof: is no longer experimental. Recommended: 32 GB+ RAM. Re-sync with --prune.include-commitment-history to apply the latest data fixes.
  • New RPC endpoints: trace_rawTransaction, eth_getStorageValues, admin_addTrustedPeer, admin_removeTrustedPeer, flat tracers, engine_getBlobsV3.
  • Reduced impact on ChainTip performance: from RPC, background file merging, pruning, and optional heavy flags (--persist.receipts, --prune.include-commitment-history).

Breaking Changes

  • Minimum Go version: 1.25
  • --rpc.blockrange.limit=1_000 new limit. Maximum block range (end - begin) allowed for range queries over RPC. 0 - means unlimited. Default: 1_000
  • --rpc.logs.maxresults=20_000 new limit. Maximum number of logs returned by eth_getLogs, erigon_getLogs, erigon_getLatestLogs. 0 - means unlimited. Default: 20_000
  • --rpc.max.concurrency=0 new limit. Maximum number of concurrent HTTP RPC requests (HTTP admission control). 0 = use db.read.concurrency, -1 = unlimited (no admission control). Default: 0
  • p2p: switched to discv5. discv4 disabled by default.

How to Upgrade

Erigon 3.4 is a drop-in upgrade. No data migration or re-sync is required.

Docker

docker pull erigontech/erigon:v3.4.0-rc.5

Changes

RPC Reliability

  • eth_getBlockReceipts: limit over-concurrency — prevents latency growth and out-of-memory (OOM) at high request rates. (#19725)
  • debug_traceCallMany: fix global BlockOverrides and StateOverrides not being applied. (#19547)
  • debug_traceCall: fix state and block overrides interaction. (#18480)
  • eth_blobBaseFee: fix incorrect value returned. (#18506)
  • eth_getBalance and others: fix block-not-found error for certain historical queries. (#18457)
  • Block-hash canonicality check: added to APIs that accept a block hash and state. (#19356)
  • rpc: fix batch limit exceeded error to comply with the JSON-RPC spec. (#18260)
  • trace_replayTransaction(): add stack info for TLOAD opcode. (#19550)
  • eth_feeHistory: performance optimisation and pending block support. (#19526, #19455)

New RPC Endpoints

  • trace_rawTransaction: execute and trace a raw signed transaction without broadcasting it. (#19524)
  • eth_getStorageValues: batch fetch of multiple storage slots in a single call. (#19442)
  • admin_addTrustedPeer / admin_removeTrustedPeer: manage trusted peers at runtime. (#19413)
  • Call flat tracers (trace_call family): flat trace output format support. (#18556)
  • engine_getBlobsV3: Engine API blob retrieval v3. (#18512)
  • trace_call: StateOverrides precompile support. (#18401, #18492)

TxPool

  • Zombie queued transactions: transactions exceeding MaxNonceGap are now evicted. (#19449)
  • txnprovider/shutter: fix premature encrypted txn pool cleanup and peer drops. (#18351)
  • txpool: cache pendingBaseFee for queue comparisons to reduce recomputation. (#18341)

Protocol

  • Fusaka scheduled for Chiado (Gnosis Chain testnet) at slot 21 651 456, epoch 1 353 216, timestamp 1 773 653 580 (Mon 16 Mar 2026 09:33:00 UTC). (#19682)
  • Chiado bootstrap nodes updated to match the Lighthouse built-in Chiado network config. (#19693)
  • Balancer hard fork for Gnosis Chain mainnet. (#18122)
  • Amsterdam signer support and BAL non-determinism fix. (#19434)
  • BAL selfdestruct net-zero fix. (#19528)
  • Parallel execution fixes for block-access-list (BAL) workloads. (#17319)
  • execution/vm: EIP-8024 (SWAPN, DUPN, EXCHANGE) opcodes implemented. (#18670)

Consensus Layer (Caplin)

  • Persistent historical download — Caplin now persists and resumes historical beacon block downloads across restarts. (#18320)
  • Discovery v5 enabled by defaultdiscv5 is now the default peer discovery protocol. (#18578)
  • cl/p2p, cl/sentinel: fix DISCV5 ENR missing IP when the discovery address is unspecified. (#19585)
  • Fix missing attestations by using GossipSub for subnet peer coverage. (#19523)
  • cl/beacon: add single_attestation event topic support. (#18142)
  • cl/beacon: set Eth-Consensus-Version header when versioned. (#18377)

P2P

  • p2p/sentry: fix wrong OR in case statement for wit protocol messages. (#19580)
  • p2p: better handling of RLP errors in wit. (#19569)
  • discv4 disabled by default on mainnet (discv5 preferred). (#18640)

Snapshot & Storage

  • merge: prioritize Domain merge over History — 2x less disk space required, and less impact to ChainTip from history-merge. (#19441)
  • merge: fix O(n²) InvertedIndex re-merge — eliminates quadratic time complexity during re-merge. (#19680)
  • SequenceBuilder: avoids an intermediate Elias-Fano representation during sequence building and merge. (#19552, #19567)
  • Faster startup: state-file index building deferred to reduce restart latency. (#19583, #19407)

Changelog

View full changelog on GitHub

Don't miss a new erigon release

NewReleases is sending notifications on new releases.