# README
Store
The store interface allows efficient storing and querying of ChainScript data.
Once links have been added to the store, other links will depend on them and reference their hash. Thus, it's important that links cannot be deleted otherwise it would invalidate a lot of other links. Updates aren't possible either for the same reason.
This is reflected in the interface exposed, that focuses only on addition and structured querying over ChainScript data.
See the Golang documentation here.
# Packages
Package storehttp is used to create an HTTP server from a store adapter.
Package storetestcases defines test cases to test stores.
Package storetesting defines helpers to test stores.
# Functions
NewSavedEvidences creates a new event to notify evidences were saved.
NewSavedLinks creates a new event to notify links were saved.
# Constants
Component name for monitoring.
DefaultLimit is the default pagination limit.
MaxLimit is the maximum pagination limit.
SavedEvidences means that segment evidences were saved.
SavedLinks means that segment links were saved.
# Variables
Common errors that can be used by store implementations.
Common errors that can be used by store implementations.
Common errors that can be used by store implementations.
Common errors that can be used by store implementations.
Common errors that can be used by store implementations.
# Structs
Event is the object stores send to notify of important events.
MapFilter contains filtering options for segments.
Pagination contains pagination options.
SegmentFilter contains filtering options for segments.
# Interfaces
Adapter is the minimal interface that all stores should implement.
AdapterConfig lets users configure advanced store adapter settings.
Batch represents a database transaction.
EvidenceReader is the interface for reading segment evidence from a store.
EvidenceStore is the interface for storing and reading segment evidence.
EvidenceWriter is the interface for adding evidence to a segment in a store.
KeyValueReader is the interface for reading key-value pairs.
KeyValueStore is the interface for a key-value store.
KeyValueWriter is the interface for writing key-value pairs.
LinkWriter is the interface for writing links to a store.
SegmentReader is the interface for reading Segments from a store.
# Type aliases
EventType lets you know the kind of event received.