You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
galexie is a service which publishes LedgerCloseMeta XDR objects bundled into a serialized file format LedgerCloseMetaBatch to a DataStore. Allowing subsequent queries from consumers for ledgers as a faster/easier alternative to acquiring the same from a captive core.
DataStore is the Go interface which defines all storage operations required by galexie. Currently, there is only 1 concrete implementation of the DataStore interface which is backed by GCS. However, we anticipate that there will be other DataStore implementations backed by other storage engines. For example, a DataStore implementation could be backed by S3, a local file system, or even a relational database like postgres.
Problem
External systems are not able to easily interoperate with GCS datastore exported bundled files because there is no external facing documentation on the export format:
Acceptance Criteria
Create a new ecosystem SEP which defines specification on Datastore export formats:
Document the exported serialized bundled file format, it should adhere to LedgerCloseMetaBatch.
Document the requirements for GCS Datastore exported bucket schema.
Define how the GCS bucket name and path should be encoded for a given exported bundled file based on the LedgerMetaArchive.ObjectKey which is an encoded string over partition, ledger range, and sort prefix.
The text was updated successfully, but these errors were encountered:
Co-locating the schema on the datastore might not be strictly necessary for the formal specification but I think it could be useful. However, the proposed changes in #5547 to simplify the append logic will definitely require the datastore to support listing objects in a specific order.
Imo, tackling these issues will help create a more robust interface that enables seamless datastore interchangeability in Galexie.
The pluggable datastore design, #5526, would be a related effort that is pending, if that comes to reality, then it would redefine what constitutes the interface of a Datastore.
sreuland
changed the title
Document requirements for implementing a DataStore to serve ledger metadata
Document DataStore exported ledger metadata file format
Mar 6, 2025
Background
galexie is a service which publishes
LedgerCloseMeta
XDR objects bundled into a serialized file formatLedgerCloseMetaBatch
to a DataStore. Allowing subsequent queries from consumers for ledgers as a faster/easier alternative to acquiring the same from a captive core.DataStore is the Go interface which defines all storage operations required by galexie. Currently, there is only 1 concrete implementation of the DataStore interface which is backed by GCS. However, we anticipate that there will be other DataStore implementations backed by other storage engines. For example, a DataStore implementation could be backed by S3, a local file system, or even a relational database like postgres.
Problem
External systems are not able to easily interoperate with GCS datastore exported bundled files because there is no external facing documentation on the export format:
Acceptance Criteria
Create a new ecosystem SEP which defines specification on Datastore export formats:
The text was updated successfully, but these errors were encountered: