func LoadPreResetHeight(blockstorePath string) (map[string]uint64, error)
LoadPreResetHeight returns the pre reset height.
func ResetBlockStore(blockstorePath string) error
ResetBlockStore resets all ledgers to the genesis block.
func Rollback(blockstorePath, ledgerID string, blockNum uint64) error
Rollback reverts changes made to the block store beyond a given block number.
func ValidateRollbackParams(blockstorePath, ledgerID string, blockNum uint64) error
ValidateRollbackParams performs necessary validation on the input given for the rollback operation.
Provider encapusaltes two providers 1) block store provider and 2) and pvt data store provider
type Provider struct {
// contains filtered or unexported fields
}
func NewProvider(metricsProvider metrics.Provider) *Provider
NewProvider returns the handle to the provider
func (p *Provider) Close()
Close closes the provider
func (p *Provider) Exists(ledgerID string) (bool, error)
Exists checks whether the ledgerID already presents
func (p *Provider) Open(ledgerid string) (*Store, error)
Open opens the store
Store encapsulates two stores 1) block store and pvt data store
type Store struct { blkstorage.BlockStore // contains filtered or unexported fields }
func (s *Store) CommitPvtDataOfOldBlocks(blocksPvtData map[uint64][]*ledger.TxPvtData) error
CommitPvtDataOfOldBlocks commits the pvtData of old blocks
func (s *Store) CommitWithPvtData(blockAndPvtdata *ledger.BlockAndPvtData) error
CommitWithPvtData commits the block and the corresponding pvt data in an atomic operation
func (s *Store) DoesPvtDataInfoExist(blockNum uint64) (bool, error)
DoesPvtDataInfoExist returns true when (1) the ledger has pvtdata associated with the given block number (or) (2) a few or all pvtdata associated with the given block number is missing but the
missing info is recorded in the ledger (or)
(3) the block is committed does not contain any pvtData.
func (s *Store) GetLastUpdatedOldBlocksPvtData() (map[uint64][]*ledger.TxPvtData, error)
GetLastUpdatedOldBlocksPvtData invokes the function on underlying pvtdata store
func (s *Store) GetMissingPvtDataInfoForMostRecentBlocks(maxBlock int) (ledger.MissingPvtDataInfo, error)
GetMissingPvtDataInfoForMostRecentBlocks invokes the function on underlying pvtdata store
func (s *Store) GetPvtDataAndBlockByNum(blockNum uint64, filter ledger.PvtNsCollFilter) (*ledger.BlockAndPvtData, error)
GetPvtDataAndBlockByNum returns the block and the corresponding pvt data. The pvt data is filtered by the list of 'collections' supplied
func (s *Store) GetPvtDataByNum(blockNum uint64, filter ledger.PvtNsCollFilter) ([]*ledger.TxPvtData, error)
GetPvtDataByNum returns only the pvt data corresponding to the given block number The pvt data is filtered by the list of 'ns/collections' supplied in the filter A nil filter does not filter any results
func (s *Store) Init(btlPolicy pvtdatapolicy.BTLPolicy)
Init initializes store with essential configurations
func (s *Store) IsPvtStoreAheadOfBlockStore() bool
IsPvtStoreAheadOfBlockStore returns true when the pvtStore height is greater than the blockstore height. Otherwise, it returns false.
func (s *Store) ProcessCollsEligibilityEnabled(committingBlk uint64, nsCollMap map[string][]string) error
ProcessCollsEligibilityEnabled invokes the function on underlying pvtdata store
func (s *Store) ResetLastUpdatedOldBlocksList() error
ResetLastUpdatedOldBlocksList invokes the function on underlying pvtdata store