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:

1. Given a validator hash, retrieve the validator set if previously stored
2. Given a block height, find the Commit with the highest height <= h
3. 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



View Source
const (
	Ext      = ".tsd"
	ValDir   = "validators"
	CheckDir = "checkpoints"


View Source
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


This section is empty.


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

func NewProvider(dir string) lite.Provider

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-amino style

func SaveFullCommitJSON

func SaveFullCommitJSON(fc lite.FullCommit, path string) error

SaveFullCommitJSON exports the seed in a json format


This section is empty.