Skip to content

Bootstrap Parameters Module #387

@lowhung

Description

@lowhung

Context

The Parameters State module tracks protocol parameters across eras (Byron through Conway) by processing governance outcomes at epoch boundaries. Currently expects GovernanceOutcome messages starting from genesis to build up parameter history through era transitions.

Problem

When bootstrapping from a snapshot (e.g., epoch 500), the parameters state module needs to initialize with the correct protocol parameters for that epoch rather than replaying all governance outcomes from genesis. According to the CDDL specification, protocol parameters are stored in the snapshot at:

  • Current parameters: gs_current_pparams at NewEpochState[3][1][1][3][3] (gov_state)
  • Previous parameters: gs_previous_pparams at NewEpochState[3][1][1][3][4] (gov_state)
  • Future parameters: gs_future_pparams at NewEpochState[3][1][1][3][5] (gov_state)
    So we know they're there!

Acceptance Criteria

  • Parameters state initializes from snapshot gov_state during bootstrap
  • Current and previous protocol parameters loaded from snapshot
  • Bootstrap data validates against Blockfrost parameters endpoints

Testing Requirements

  • Blockfrost /epochs/{epoch}/parameters endpoint matches bootstrap data

Definition of Done

  • Parameters state initializes from snapshot without replaying governance outcomes
  • Current and previous parameters accurate after bootstrap
  • Blockfrost API validation confirms correctness

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions