Closed Troublor closed 4 months ago
After a quick inspection, it seems AutoSeal does not set the receipts_root
in the block header:
https://github.com/paradigmxyz/reth/blob/2a5c93fab39cd827357770d9a6386c3047bcc3b6/crates/consensus/auto-seal/src/lib.rs#L403-L416
~I think it maybe related with~
~try to investigate and fix it~
@Troublor you're right, the receipts_root were not calculated. I'm trying to fix it.
@jsvisa FYI, I tried to added this code into build_and_execute
function, it seems to work:
// calculate the receipts root
header.receipts_root = execution_outcome
.receipts
.optimism_root_slow(0, &chain_spec, header.timestamp)
.expect("receipts root should never be none");
yeah, but this will fail for ethereum's dev node, we need to add a feature
to seperate them.
Describe the bug
When running op-reth in dev mode with block time interval, every block produced by AutoSeal is considered invalid by BeaconConsensusEngine, saying
receipt root mismatch
.Steps to reproduce
checkout v1.0.0-rc.2
cargo run --bin op-reth --features optimism -- node --dev --dev.block-time 1s
Node logs
Platform(s)
Linux (x86)
What version/commit are you on?
reth Version: 1.0.0-rc.2-dev Commit SHA: d786b459d Build Timestamp: 2024-06-18T19:25:14.442219648Z Build Features: jemalloc,optimism Build Profile: debug
What database version are you on?
Current database version: 2
Which chain / network are you on?
dev
What type of node are you running?
Archive (default)
What prune config do you use, if any?
No response
If you've built Reth from source, provide the full command you used
cargo run --bin op-reth --features optimism -- node --dev --dev.block-time 1s
Code of Conduct