go-ethereum/eth
rjl493456442 1be5da2330
Some checks are pending
/ Linux Build (push) Waiting to run
/ Linux Build (arm) (push) Waiting to run
/ Keeper Build (push) Waiting to run
/ Windows Build (push) Waiting to run
/ Docker Image (push) Waiting to run
eth/protocols/snap: redo the snap sync if the bal is unavailable (#35181)
This PR introduces a new condition that if the local node falls behind
too much and the required BAL for catching up is very likely to be
unavailable, the entire snap sync will be restarting from scratch.

As the defined BAL retention window is weak-subjective-period which is
calculated dynamically. A more conservative threshold is used (90K
blocks) for robustness.

Apart from that, the BAL catchup will be divided into several spans and
apply one by one. It's essential to prevent the potential out-of-memory
panic of placing the entire BAL set in memory.
2026-06-17 09:57:08 +08:00
..
catalyst core/txpool/blobpool: add cache for GetBlobs request (#35124) 2026-06-11 17:26:15 +02:00
downloader eth: reserve peer slot for usable snap peer (#35180) 2026-06-17 09:55:36 +08:00
ethconfig core, eth/protocols/snap, eth/downloader: snap/2 sync logic (#34626) 2026-06-11 14:45:07 +08:00
fetcher Update eth/fetcher/tx_fetcher.go 2026-04-24 12:12:26 +02:00
filters eth/filters: return -32602 when exceeding the block range limit (#34647) 2026-04-08 12:57:29 +02:00
gasestimator core: use uint256 in core.Message (#34934) 2026-05-11 22:25:57 +08:00
gasprice cmd, core, trie, triedb: split CachingDB into merkle + binary dbs. (#34700) 2026-04-17 08:55:54 +08:00
protocols eth/protocols/snap: redo the snap sync if the bal is unavailable (#35181) 2026-06-17 09:57:08 +08:00
syncer eth,node: replace the deprecated TypeMux with Feed (#32585) 2026-05-08 10:12:46 +08:00
tracers core: implement EIP-8037, state creation gas cost increase (#33601) 2026-06-12 14:29:03 +02:00
api_admin.go eth: ignore genesis block on importChain (#27956) 2023-08-21 13:32:34 -04:00
api_backend.go eth: should return basefee for the next block as doc says (#35023) 2026-05-27 12:53:03 +02:00
api_backend_test.go core/txpool: add eip2681 check for incoming transactions (#32726) 2025-09-25 13:15:12 +02:00
api_debug.go eth: add debug_clearTxpool api (#33347) 2026-06-09 14:39:46 +02:00
api_debug_test.go eth: fix borked test introduced in merging #33347 (#35130) 2026-06-09 18:13:24 +02:00
api_miner.go miner: refactor the miner, make the pending block on demand (#28623) 2024-03-06 14:45:03 +02:00
backend.go core/txpool/blobpool: add cache for GetBlobs request (#35124) 2026-06-11 17:26:15 +02:00
dropper.go all: fix all typos, as reported by crates-ci/typos (#35008) 2026-06-10 18:50:51 +02:00
handler.go eth: reserve peer slot for usable snap peer (#35180) 2026-06-17 09:55:36 +08:00
handler_eth.go eth/protocols/eth, eth/protocols/snap: delayed p2p message decoding (#33835) 2026-02-15 21:21:16 +08:00
handler_eth_test.go eth: implement EIP-7975 (eth/70 - partial block receipt lists) (#33153) 2026-03-30 15:17:37 +02:00
handler_snap.go eth: check snap satelliteness, delegate drop to eth (#22235) 2021-02-02 10:44:36 +02:00
handler_test.go eth: implement EIP-7975 (eth/70 - partial block receipt lists) (#33153) 2026-03-30 15:17:37 +02:00
peer.go eth/protocols/eth: implement eth/69 (#29158) 2025-05-16 17:10:47 +02:00
peerset.go eth: reserve peer slot for usable snap peer (#35180) 2026-06-17 09:55:36 +08:00
state_accessor.go core/vm: global cache for jumpdest bitmaps (#34850) 2026-05-27 09:01:05 +02:00
sync.go miner: add OpenTelemetry spans for block building path (#33773) 2026-03-16 19:24:41 +01:00
sync_test.go eth: implement EIP-7975 (eth/70 - partial block receipt lists) (#33153) 2026-03-30 15:17:37 +02:00