Repository navigation
fix: hardcode testnet gap blocks (69038325–69071492) in BlockStore - #166
Merged
Merged
Conversation
These 33168 blocks are missing from the upstream testnet S3 bucket. They are embedded next to the existing 50927214–50929512 gap and served by BlockStore the same way, so nodes sync through the range on any block source. The blocks were rebuilt from another nanoreth node's RPC (eth_getBlockByNumber / eth_getBlockReceipts / eth_blockPrecompileData) and checked per block: header and tx hashes re-hash to the RPC values, receipts reproduce the receipts root, logs bloom and gas used, and the parent-hash chain links to the real S3 blocks on both sides (69038324 and 69071493). All 23 blocks with read precompile calls carry their recorded results. Verified by syncing a testnet archive through the range (every block re-executed and validated) and comparing the full state at 69237903 against a node initialized from hl-node state at 69224874: no differences caused by the gap. Data is lz4-compressed JSON (5.6MB). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Summary
Testnet blocks 69038325–69071492 (33,168 blocks) are missing from the
hl-testnet-evm-blocksS3 bucket, so nodes syncing from S3 stall at 69038324. This embeds them next to the existing 50927214–50929512 gap (#129).BlockStoreserves them the same way, so syncing works on any block source.src/pseudo_peer/testnet_gaps_69038325.json.lz4: lz4-compressed JSONVec<BlockAndReceipts>, the same format astestnet_gaps.json.lz4(5.6 MB).patch.rs: loads both embedded files (testnet only, as before).embedded_testnet_gaps_chain: checks the range is complete, chains by parent hash, and links to the S3 blocks on both sides.How the blocks were rebuilt
From another nanoreth node's RPC:
eth_getBlockByNumber(full),eth_getBlockReceiptsandeth_blockPrecompileData. That node runs in default mode, so system txs are listed. Each block is converted to its DB form and then toBlockAndReceipts::from_db, the same thinghl_syncGetBlockserves.Checks per block:
0x718af9…9b25) and ends at the parent hash of 69071493 (0x3051f8…1f8b).Verification
🤖 Generated with Claude Code