Documentation ¶
Overview ¶
Package files defines a Provider that stores all data in the filesystem
We assume the same validator hash may be reused by many different headers/Commits, and thus store it separately. This leaves us with three issues:
- Given a validator hash, retrieve the validator set if previously stored
- Given a block height, find the Commit with the highest height <= h
- Given a FullCommit, store it quickly to satisfy 1 and 2
Note that we do not worry about caching, as that can be achieved by pairing this with a MemStoreProvider and CacheProvider from certifiers
Index ¶
Constants ¶
const ( Ext = ".tsd" ValDir = "validators" CheckDir = "checkpoints" )
nolint
const ( // MaxFullCommitSize is the maximum number of bytes we will // read in for a full commit to avoid excessive allocations // in the deserializer MaxFullCommitSize = 1024 * 1024 )
Variables ¶
This section is empty.
Functions ¶
func LoadFullCommit ¶
func LoadFullCommit(path string) (lite.FullCommit, error)
LoadFullCommit loads the full commit from the file system.
func LoadFullCommitJSON ¶
func LoadFullCommitJSON(path string) (lite.FullCommit, error)
LoadFullCommitJSON loads the commit from the file system in JSON format.
func NewProvider ¶
NewProvider creates the parent dir and subdirs for validators and checkpoints as needed
func SaveFullCommit ¶
func SaveFullCommit(fc lite.FullCommit, path string) error
SaveFullCommit exports the seed in binary / go-wire style
func SaveFullCommitJSON ¶
func SaveFullCommitJSON(fc lite.FullCommit, path string) error
SaveFullCommitJSON exports the seed in a json format
Types ¶
This section is empty.