Hi! I'm trying to set up a full-archive Abstract mainnet node (chain 2741) with complete history from genesis, and I've run into a couple of walls. I'd really appreciate some guidance on the intended path — I may well be missing something obvious.
What I've tried
Genesis sync (EN_SNAPSHOTS_RECOVERY_ENABLED=false), on two versions:
| Version |
Result |
| v31.1.0 |
Genesis init fails: Root hash mismatched: From config 0xabdb766b18a479a5c783a4b80e12686bc8ea3cc2d8a3050491b701d72370ebb5, Calculated 0x46c31b97c70428fe02a90f888e66c6e8d70c4595d8c135315cd8fd7d2219db0f |
| v29.14.0 |
Genesis + sync work, then the state keeper halts at L2 block 9,184,482: cannot reject transaction 0x76866def29a0c6e8cdd65b65a2caca7bbfce02f5a7335c44f236ec903806abe2 — Account validation error: function_selector = 0x03eb8b54 … This is not supported on external node. Reproducible at the same block on restart. |
Snapshot recovery works nicely and gives me a healthy synced node, but it starts at L1 batch 91344, so earlier history isn't available:
eth_getBlockByNumber(0x1000000) →
error -32602: "Block with such an ID is pruned; the first retained block is 82924188"
(EN_PRUNING_ENABLED=false is set — so this is the snapshot starting point rather than pruning.)
DB dump recovery — the docs point to 03_running.md / matter-labs/ansible-en-role for historical data. The dump links there (en-backups.matterlabs.dev) appear to serve zksync-era-mainnet-external-node-backups, i.e. zkSync Era rather than Abstract (batch-0 0xbc59c242…, genesis Feb 2023). Restoring it against chain 2741 gets rejected, as expected:
the earliest L1 batch #0 in the local DB has mismatched hash with the main node.
local: 0xbc59c242d551e3939b9b2939b8b686efa77ba3833183045d548aa5f53357ba95
main node: 0xabdb766b18a479a5c783a4b80e12686bc8ea3cc2d8a3050491b701d72370ebb5
Possibly I'm looking at the wrong link, or there's an Abstract-specific bucket I haven't found.
Questions
- What's the recommended way to get a full-archive node with history from genesis?
- If genesis sync is the intended route, is there a specific EN version that reproduces genesis root
0xabdb766b…70ebb5 and handles the 0x03eb8b54 validation error at block 9.18M?
- If DB dump recovery is the route, is there an Abstract-mainnet (2741) dump available? If so, the URL plus a batch-0 hash or checksum would help me verify before downloading, and any notes on which EN/PG version to restore it under would be great.
Hi! I'm trying to set up a full-archive Abstract mainnet node (chain 2741) with complete history from genesis, and I've run into a couple of walls. I'd really appreciate some guidance on the intended path — I may well be missing something obvious.
What I've tried
Genesis sync (
EN_SNAPSHOTS_RECOVERY_ENABLED=false), on two versions:Root hash mismatched: From config 0xabdb766b18a479a5c783a4b80e12686bc8ea3cc2d8a3050491b701d72370ebb5, Calculated 0x46c31b97c70428fe02a90f888e66c6e8d70c4595d8c135315cd8fd7d2219db0fcannot reject transaction 0x76866def29a0c6e8cdd65b65a2caca7bbfce02f5a7335c44f236ec903806abe2 — Account validation error: function_selector = 0x03eb8b54 … This is not supported on external node. Reproducible at the same block on restart.Snapshot recovery works nicely and gives me a healthy synced node, but it starts at L1 batch 91344, so earlier history isn't available:
(
EN_PRUNING_ENABLED=falseis set — so this is the snapshot starting point rather than pruning.)DB dump recovery — the docs point to
03_running.md/matter-labs/ansible-en-rolefor historical data. The dump links there (en-backups.matterlabs.dev) appear to servezksync-era-mainnet-external-node-backups, i.e. zkSync Era rather than Abstract (batch-00xbc59c242…, genesis Feb 2023). Restoring it against chain 2741 gets rejected, as expected:Possibly I'm looking at the wrong link, or there's an Abstract-specific bucket I haven't found.
Questions
0xabdb766b…70ebb5and handles the0x03eb8b54validation error at block 9.18M?