Skip to content

Allow running a sequencer node that syncs from DA first in full node mode #2521

Closed

Description

@Manav-Aggarwal

To increase reliability of a sequencer node, in case of losing associated data, a new sequencer node should be able to be started which syncs blocks from DA first (or from starts from a snapshot and then syncs remaining blocks from DA). Once it's done syncing, it should switch to sequencer mode to start producing blocks.

This sort of requires switching node type mid-process.

Activity

  1. moved this to Todo in Evolveon Aug 5, 2025
  2. tac0turtle commented on Aug 8, 2025

    @tac0turtle
    Contributor

    this seems more like it needs testing, as it should be supported today.

    the main thing is that the sequencer needs to stop producing blocks in order to make sure everything is posted to DA otherwise the other node will never catch up

  3. Manav-Aggarwal commented on Aug 8, 2025

    @Manav-Aggarwal
    MemberAuthor

    yes maybe it can be something we can add as a flag for the sequencer, so if certain flags are added alongside the aggregator flag, it runs the full node mode first and retrieved blobs, then once it's caught it up, it switches the mode automatically. Notice that in the block manager, the aggregator flag right now controls which go routines run on startup, so this requires playing a bit around with it to stop and start certain go routines.

    Albeit, doing it manually first of running a full node and then manually stopping and starting with the aggregator flag is a good first step.

  4. tac0turtle commented on Aug 8, 2025

    @tac0turtle
    Contributor

    yes maybe it can be something we can add as a flag for the sequencer, so if certain flags are added alongside the aggregator flag, it runs the full node mode first and retrieved blobs, then once it's caught it up, it switches the mode automatically. Notice that in the block manager, the aggregator flag right now controls which go routines run on startup, so this requires playing a bit around with it to stop and start certain go routines.

    this leads to double signing, how does the node know that the other aggregator has stopped? I dont usually have a preference but in this case id rather not try to automate this since its so delicate that manual fixes. Its similar to creating a proxy server in a backend or just using nginx. Simplest is always the best.

  5. tac0turtle commented on Sep 1, 2025

    @tac0turtle
    Contributor

    To add context to this issue, we need a way to let the aggregator run the sync loop in order to sync to the head of the chain, once it sees its at the head it can start proposing. In order to make this secure we need a way to let other nodes know what the head of the chain is to allow them to know if they are syncing old blocks or are at the head. I dont believe this exists today

  6. tac0turtle commented on Nov 18, 2025

    @tac0turtle
    Contributor

    @alpe this is overlapping with the HA system correct?

  7. self-assigned this
    on Jan 28, 2026
  8. julienrbrt commented on Feb 4, 2026

    @julienrbrt
    Member

    The system needed here is very similar to what we need for #3016 FYI.

  9. moved this from Todo to In Progress in Evolveon Feb 9, 2026
  10. moved this from In Progress to Done in Evolveon Feb 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

  • Status
    No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions