Module rpc_store_embed

Module rpc_store_embed 

Source
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:

  1. Open the rpc-store database under the node’s db_path().
  2. Compare its persisted per-pipeline watermarks against the perpetual store’s currently-available checkpoint range [L, T] (L = lowest available, T = highest executed) and decide what to do: resume as-is, (re)seed the history cohort, or (re)restore the live cohort.
  3. Bulk-load the live cohort from the perpetual store and seed the history cohort when needed (blocking, before the node starts executing).
  4. 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§

EmbeddedRpcStore
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.