Skip to content

Bootstrap UTXO Module #386

@lowhung

Description

@lowhung

Context

The UTXO State module tracks unspent transaction outputs (UTXOs) by processing UTXO delta messages. It currently expects delta messages starting from genesis. During bootstrap, it instead needs to load the complete UTXO set from snapshot's utxo_state.

Problem

When bootstrapping from a snapshot (e.g., epoch 500), the UTXO state module needs to initialize the complete UTXO set rather than replaying all transactions from genesis. The snapshot provides millions of UTXOs that must be loaded efficiently into our stores (cough batching cough ;)).

Acceptance Criteria

  • UTXO state initializes from snapshot data during bootstrap
  • Normal delta processing continues after bootstrap
  • Bootstrap data can be validated against Blockfrost API queries

Testing Requirements

  • UTXO queries return correct data after bootstrap / Blockfrost API queries match bootstrap data

Definition of Done

  • UTXO state initializes from snapshot without replaying deltas
  • All UTXOs and metadata accurate after bootstrap
  • UTXO queries work correctly after bootstrap
  • Blockfrost API validation confirms correctness

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions