ledgerstorage

package
v2.1.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 15, 2020 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LoadPreResetHeight added in v1.4.2

func LoadPreResetHeight(blockstorePath string, ledgerIDs []string) (map[string]uint64, error)

LoadPreResetHeight returns the pre reset height for the specified ledgers.

func ResetBlockStore added in v1.4.2

func ResetBlockStore(blockstorePath string) error

ResetBlockStore resets all ledgers to the genesis block.

func Rollback added in v1.4.2

func Rollback(blockstorePath, ledgerID string, blockNum uint64) error

Rollback reverts changes made to the block store beyond a given block number.

func ValidateRollbackParams added in v1.4.2

func ValidateRollbackParams(blockstorePath, ledgerID string, blockNum uint64) error

ValidateRollbackParams performs necessary validation on the input given for the rollback operation.

Types

type Provider

type Provider struct {
	// contains filtered or unexported fields
}

Provider encapsulates two providers 1) block store provider and 2) and pvt data store provider

func NewProvider

func NewProvider(blockStoreDir string, conf *pvtdatastorage.PrivateDataConfig, metricsProvider metrics.Provider) (*Provider, error)

NewProvider returns the handle to the provider

func (*Provider) Close

func (p *Provider) Close()

Close closes the provider

func (*Provider) Exists added in v1.4.2

func (p *Provider) Exists(ledgerID string) (bool, error)

Exists checks whether the ledgerID already presents

func (*Provider) Open

func (p *Provider) Open(ledgerid string) (*Store, error)

Open opens the store

type Store

type Store struct {
	blkstorage.BlockStore
	// contains filtered or unexported fields
}

Store encapsulates two stores 1) block store and pvt data store

func (*Store) CommitPvtDataOfOldBlocks added in v1.4.1

func (s *Store) CommitPvtDataOfOldBlocks(blocksPvtData map[uint64][]*ledger.TxPvtData) error

CommitPvtDataOfOldBlocks commits the pvtData of old blocks

func (*Store) CommitWithPvtData

func (s *Store) CommitWithPvtData(blockAndPvtdata *ledger.BlockAndPvtData) error

CommitWithPvtData commits the block and the corresponding pvt data in an atomic operation

func (*Store) DoesPvtDataInfoExist added in v1.4.2

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 (*Store) GetLastUpdatedOldBlocksPvtData added in v1.4.1

func (s *Store) GetLastUpdatedOldBlocksPvtData() (map[uint64][]*ledger.TxPvtData, error)

GetLastUpdatedOldBlocksPvtData invokes the function on underlying pvtdata store

func (*Store) GetMissingPvtDataInfoForMostRecentBlocks added in v1.3.0

func (s *Store) GetMissingPvtDataInfoForMostRecentBlocks(maxBlock int) (ledger.MissingPvtDataInfo, error)

GetMissingPvtDataInfoForMostRecentBlocks invokes the function on underlying pvtdata store

func (*Store) GetPvtDataAndBlockByNum

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 (*Store) GetPvtDataByNum

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 (*Store) Init added in v1.3.0

func (s *Store) Init(btlPolicy pvtdatapolicy.BTLPolicy)

Init initializes store with essential configurations

func (*Store) IsPvtStoreAheadOfBlockStore added in v1.4.2

func (s *Store) IsPvtStoreAheadOfBlockStore() bool

IsPvtStoreAheadOfBlockStore returns true when the pvtStore height is greater than the blockstore height. Otherwise, it returns false.

func (*Store) ProcessCollsEligibilityEnabled added in v1.4.1

func (s *Store) ProcessCollsEligibilityEnabled(committingBlk uint64, nsCollMap map[string][]string) error

ProcessCollsEligibilityEnabled invokes the function on underlying pvtdata store

func (*Store) ResetLastUpdatedOldBlocksList added in v1.4.1

func (s *Store) ResetLastUpdatedOldBlocksList() error

ResetLastUpdatedOldBlocksList invokes the function on underlying pvtdata store

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL