Skip to content

feat(nodedeployment): add fork-genesis preset for forking-from-state ephemeral chains #134

@bdchatham

Description

@bdchatham

Problem

The new seictl nodedeployment CLI (design) ships v1 with two presets: genesis-chain and rpc. A third preset, fork-genesis, is needed to spin up an ephemeral chain initialized by forking the state of an existing chain (testnet/mainnet snapshot). Primary use case: QA testing against representative production state without a long-lived testnet.

Implementation depends on the upstream sei-k8s-controller fork-genesis feature, which is currently in development. This issue tracks the seictl-side preset; the upstream feature is tracked separately in sei-protocol/sei-k8s-controller.

Impact

  • Unblocks the QA harness running tests against forked production state. Current alternative — maintain a long-lived testnet — was explicitly rejected.
  • Closes the loop for any consumer that wants to bisect protocol behavior across snapshots without spinning up a real testnet.

Relevant experts

  • kubernetes-specialist — controller-side fork-genesis API shape.
  • product-engineer — preset taxonomy / parameter surface.

Proposed approach

  1. Wait for sei-k8s-controller fork-genesis feature to land and stabilize (tracked separately upstream).
  2. Add fork-genesis to seictl's embedded preset directory.
  3. Required parameters (TBD, pending controller API):
    • source-side: --source-chain-id or --source-snapshot — what to fork from.
    • target-side: --chain-id — target ephemeral chain ID (consistent with genesis-chain).
  4. Output shape unchanged from genesis-chain — native SND with provenance annotations (seictl.sei.io/preset: fork-genesis).

Out of scope

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions