Revision 1143fc9798ec6e5f58164caffdaca7178402e80b authored by Alain Mebsout on 16 November 2022, 15:55:34 UTC, committed by Alain Mebsout on 18 November 2022, 17:03:24 UTC
1 parent 9bd2352
Raw File
README.md
# tezos-store
Summary line: Storage library for storing chain data

## Overview
- `tezos-store` provides an abstraction over the disk storage. It aims
   to handles the on-disk storage of static objects such as blocks,
   operations, block's metadata, protocols and chain data.

## Implementation Details
- `tezos-store` is a virtual library comprising the following packages:
  - `tezos-store` itself only contains a `store.mli` file describing the public interface
    that all implementations of the library must provide.
  - `tezos-store.real` is the real implementation of `tezos-store`, used in production.
    For technical reasons, this library is just a thin layer over `tezos-store-unix`, where the bulk of the implementation resides
  - `tezos-store.mocked` is a mocked, in-memory implementation of `tezos-store`, used in tests and simulations.
  - `tezos-store-shared` contains type definitions and endodings used by all implementations and referred to
    by the public interface `store.mli`
  - `tezos-store-unix` is contains the actual implementation of the store
  - `tezos-store-unix.reconstruction` implements the history reconstruction feature
  - `tezos-store-unix.snapshots` implements facilities for exporting and importing snapshots
- The main module is `Store`. It provides the abstract view of the
storage.
- The main components are:
  - `Cemented_block_store`: persistent block store with linear history
  - `Floating_block_store`: persistent block store with arborescent
    history
  - `Block_store`: persistent and cached generic block store based on
    both cemented and floating blocks stores.
  - `Snapshots`: canonical storage representation for storage
    import/export
- A comprehensive view of the storage implementation is available at
  https://tezos.gitlab.io/shell/storage.html

## API Documentation

- http://tezos.gitlab.io/api/odoc/_html/tezos-storage/index.html
back to top