github erigontech/erigon v3.4.0-rc.4

pre-release7 hours ago

3.4.0

Key features

  • Fast restart on ChainTip: no more blocking indexing or prune at startup, Caplin doesn't loose it's downloading progress.
  • 4x smaller Chaindata (~20gb): it improving ChainTip speed. You will get it only by re-sync (or by: ./build/bin/erigon seg step-rebase --datadir=<your_path> --new-step-size=390625)
  • Historical eth_getProof: is not "experimental" now. We advise +32g ram for this feature. Please re-sync to get latest data-fixes.
  • New RPC endpoints: trace_rawTransaction, eth_getStorageValues, admin_addTrustedPeer, admin_removeTrustedPeer, call flat tracers, engine_getBlobsV3.
  • Reduce impact to ChainTip perf: from RPC, from background Files-Merge, from pruning, from optional heavy-flags (--persist.receipts and --prune.include-commitment-history), etc...

Breaking changes

Minimum Golang: 1.25

How to upgrade

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


RPC Reliability

  • eth_getBlockReceipts: limit over-concurrency — prevents latency growth and OOM at high request rates. (#19725)
  • eth_feeHistory: performance optimisation and pending block support. (#19526, #19455)
  • 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 in APIs that accept a hash and state. (#19356)
  • eth/69: fix typed receipt encoding to use a flat RLP list as required by the spec. (#19619)
  • rpc: fix batch limit exceeded error to comply with JSONRPC spec. (#18260)
  • trace_replayTransaction(): add stack info for TLOAD opcode. (#19550)

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

  • Fix zombie queued 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)

Build & Runtime

  • execution: add --fcu.timeout, --fcu.background.prune, --fcu.background.commit flags for fine-grained FCU timing control. (#18756)
  • --v5disc alias added for compatibility. (#18786)

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)
  • Fix nil-ptr in DumpBeaconBlocks. (#19532)

P2P

  • p2p/sentry: fix wrong OR in case statement for wit protocol messages. (#19580)
  • p2p: better handling of RLP errors in wit. (#19569)
  • Fix data race in Downloader.spawn after Downloader.Close. (#18346)
  • 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 by history-merge: (#19441)
  • merge: fix O(n²) InvertedIndex 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

v3.4.0-rc.4...v3.3.7

Don't miss a new erigon release

NewReleases is sending notifications on new releases.