Expand description
Startup orchestration for the embedded sui-rpc-store indexer.
When a fullnode is configured with
RpcConfig::use_experimental_rpc_store,
it serves the rpc-api
index surface from an embedded sui_rpc_store instance instead of
the legacy rpc-index. This module owns the lifecycle of that
instance:
- Open the rpc-store database under the node’s
db_path(). - Compare its persisted per-pipeline watermarks against the
perpetual store’s currently-available checkpoint range
[L, T](L= lowest available,T= highest executed) anddecidewhat to do: resume as-is, (re)seed the history cohort, or (re)restore the live cohort. - Bulk-load the live cohort from the perpetual store and seed the history cohort when needed (blocking, before the node starts executing).
- Build the read handle the rpc-api serves through, hand the store
to the pruner, and spawn the tip-following indexer fed by the
perpetual store (
PerpetualStoreIngestionClient) and the checkpoint executor’s broadcast stream (BroadcastStreamingClient).
The live cohort (live-object-derivable indexes) is restored to the
tip and follows forward. The history cohort (ledger-history bitmaps,
tx_seq maps, per-epoch metadata) is seeded to the lowest available
checkpoint and backfilled upward; the synchronizer’s dynamic cohort
lets it catch up to the live frontier without stalling tip
snapshots.
Structs§
- Embedded
RpcStore - A bootstrapped embedded rpc-store, ready to hand to the pruner and the rpc-api read path and to start tip indexing.
Enums§
- Bootstrap
- What the startup orchestration does with the on-disk rpc-store.