-
Notifications
You must be signed in to change notification settings - Fork 18
Description
System information
Erigon version: erigon version 0.09.2-unstable
Commit hash: unknown (image: testinprod/op-erigon:v2.61.3-0.9.4)
OS & Version: Linux (container, Debian-based)
Erigon Command (with flags/config):
erigon \
--chain=base-mainnet \
--datadir=/home/erigon/.local/share/erigon \
--port=30303 \
--private.api.addr=localhost:9090 \
--private.api.ratelimit=318720 \
--http.addr=0.0.0.0 \
--http.port=8545 \
--http.corsdomain=* \
--http.vhosts=* \
--http.api=eth,debug,net,web3,trace,txpool,engine \
--ws \
--ws.port=8545 \
--authrpc.addr=0.0.0.0 \
--authrpc.port=8551 \
--authrpc.vhosts=* \
--authrpc.jwtsecret=/jwtsecret \
--nat=extip:XXX.XXX.XXX.XXX \
--metrics \
--metrics.addr=0.0.0.0 \
--metrics.port=6060 \
--rollup.sequencerhttp=https://mainnet-sequencer.base.org \
--txpool.gossip.disable=true \
--rpc.gascap=60000000 \
--downloader.disable.ipv6=true \
--torrent.download.rate=100mb \
--db.size.limit=8TB
Consensus Layer:
op-node
Version: v1.13.2
Chain/Network:
Base Mainnet (archive mode)
Expected behaviour
eth_getProof
should return a valid Merkle proof that matches the block header’s stateRoot
.
Actual behaviour
Requesting a proof for address 0x0000000000000000000000000000000000000000
on block 0x1cf9035
fails with the following error:
{"jsonrpc":"2.0","id":1,"error":{"code":-32000,"message":"mismatch in expected state root computed 0x40a2650ab0bdbc75a5ab4ff938e3fa10346a307336939dc6e78f264335988a56 vs 0x30c839df1e8d647d915b1e175667b2d42061d1feb39f0ec6ea154676c6cb3312 indicates bug in proof implementation"}}
No pruning flags were used, and the node was restored using the official snapshot from:
https://datadirs.testinprod.io/base-mainnet-db-30380596.zst
SHA256 verified:
d33825df71c8347bbe79fb1d6656762f869e89793c52dea52ed9151df70f2446
The node is otherwise fully synced and functional for regular RPC usage.
Steps to reproduce the behaviour
- Deploy Erigon using the official Base snapshot (2025-05-18, 1.94TB)
- Start node with full archive mode (no
--prune
) - Ensure node is fully synced and healthy
- Run this RPC:
curl -s -X POST http://localhost:8545 \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_getProof","params":["0x0000000000000000000000000000000000000000",[], "0x1cf9035"]}'
- Observe the mismatch error.
Backtrace
{"jsonrpc":"2.0","id":1,"error":{"code":-32000,"message":"mismatch in expected state root computed 0x40a2650ab0bdbc75a5ab4ff938e3fa10346a307336939dc6e78f264335988a56 vs 0x30c839df1e8d647d915b1e175667b2d42061d1feb39f0ec6ea154676c6cb3312 indicates bug in proof implementation"}}
Let me know if you'd like a full node dump or additional blocks affected by the issue.
Happy to assist in isolating or reproducing it further.