Skip to content

Implement ZainoDB DbV2 #860

@idky137

Description

@idky137

Zaino should have a small footprint database option for zallet users that do not require the service improvements that the large DbV1 offers.

This version should only build / save the minimal set of indexes to provide basic chain indexing functionality and serve the extra indexes required in zaino (not provided by zebrad), most notably block / chain cumulative chain work.

Proposed Solution

DbV1 Schema / Functionality

Tables:

  • Block headers: Height -> StoredEntryVar<BlockHeaderData>
  • Txids: Height -> StoredEntryVar<TxidList>
  • Heights: Hash -> StoredEntryFixed<Height>

Capability:

  • DbRead
  • DbWrite
  • DbCore
  • BlockCoreExt

Migrations:

  • V0->V2.0.0 (closely follows V0->V1.0.0)
  • V1->V2.0.0
  • V2->V1.0.0

Note

Currently zebra serves the transparent address history indexes but it has been suggested that Zaino take responsibility for offering this service (DbV1 holds a full transparent address history indexing implementation that is yet to be utilised in zaino), if this is confirmed and the transparent address indexing service removed from zebra then the schema and Capability this new db option would need to be updated to handle this extra functionality.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ZalletFunctionality required by ZalletenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions