Expand description
Storage backend for sui-rpc-api.
Built on top of [sui_consistent_store], this crate hosts the
column families that back every read the RPC service performs:
- Raw chain data — objects, transactions, effects, events, checkpoints, committees — previously served by the validator’s perpetual / checkpoint / committee stores.
- Indexes — owner, dynamic-field, coin, balance, package version,
epoch info, ledger history — previously served by
sui-core::rpc_indexandsui-indexer-alt-consistent-store.
Values are encoded with bespoke protobuf messages defined under
proto/sui/rpc_store/, mirroring the build setup in
sui-consistent-store.
Re-exports§
pub use crate::config::CommitterLayer;pub use crate::config::ConsistencyConfig;pub use crate::config::PipelineLayer;pub use crate::config::PrunerConfig;pub use crate::config::RestoreLayer;pub use crate::config::ServiceConfig;pub use crate::indexer::Indexer;pub use crate::indexer::METRICS_PREFIX;pub use crate::indexer::Store;pub use crate::indexer::checkpoint_broadcast::CheckpointBroadcast;pub use crate::indexer::checkpoint_broadcast::seed_watermark_to_tip as seed_checkpoint_broadcast_watermark;pub use crate::indexer::pruner::prune_history_cohort;pub use crate::indexer::restore::HISTORY_COHORT;pub use crate::indexer::restore::LIVE_COHORT;pub use crate::indexer::restore::floor_unrestored_pipelines;pub use crate::indexer::restore::restore_indexes;pub use crate::indexer::restore::seed_current_epoch_start;pub use crate::indexer::restore::seed_history_cohort;pub use crate::reader::RpcStoreReader;pub use crate::schema::RpcStoreSchema;pub use crate::schema::default_rocksdb_config;
Modules§
- config
- Runtime configuration for the
sui-rpc-storeindexer. - indexer
- Indexer pipelines that populate the
sui-rpc-storeschema from observedCheckpoints, plus the orchestrator (Indexer) that wires them up against a shared [Synchronizer]. - proto
- Generated protobuf types backing
sui-rpc-storevalues. - reader
- Adapter that exposes
RpcStoreSchemathrough the trait stacksui-rpc-apiconsumes —ObjectStore,ReadStore,ChildObjectResolver,RpcStateReader, andRpcIndexes. - schema
- Column-family layout for
sui-rpc-store.
Functions§
- start_
indexer - Standalone-binary entry point. Opens the database at
path, constructs anIndexerfromClientArgs-driven ingestion / streaming clients, registers every pipeline that is enabled inconfig.pipeline, and runs the resulting indexer.