Skip to content

Genesis sync fails on mainnet and the DB-backup docs point to zkSync Era — what is the exact procedure for a full-archive Abstract node? #42

Description

@IlyaKozlovPixelPlex

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

  1. What's the recommended way to get a full-archive node with history from genesis?
  2. 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?
  3. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions