Versions in this module Expand all Collapse all v0 v0.2.0 Mar 13, 2019 v0.1.0 Jul 23, 2018 Changes in this version + var ErrBlockNotFound = errors.New("block not found in the chain") + var ErrBlockNumberIncorrect = errors.New("block number does not correspond to hash") + var ErrInvalidPreviousBlock = errors.New("link to previous block is invalid") + var OptGenesisBlock = func(genesis *pb.Block) Opt + var OptPrefix = func(prefix []byte) Opt + func GetPath(c Reader, from *pb.Block, to *pb.Block) (rollbacks []*pb.Block, replays []*pb.Block, err error) + type Chain interface + func NewChainDB(db db.DB, opts ...Opt) Chain + type Config struct + type Opt func(*chainDB) + type Reader interface + Config func() *Config + CurrentBlock func() (*pb.Block, error) + CurrentHeader func() (*pb.Header, error) + GetBlock func(hash []byte, number uint64) (*pb.Block, error) + GetBlockByHash func(hash []byte) (*pb.Block, error) + GetBlockByNumber func(number uint64) (*pb.Block, error) + GetHeaderByHash func(hash []byte) (*pb.Header, error) + GetHeaderByNumber func(number uint64) (*pb.Header, error) + GetHeadersByNumber func(number uint64) ([]*pb.Header, error) + GetParentBlock func(header *pb.Header) (*pb.Block, error) + type Writer interface + AddBlock func(block *pb.Block) error + SetHead func(block *pb.Block) error