Documentation
¶
Index ¶
- type Committer
- type LedgerCommitter
- func (lc *LedgerCommitter) CommitLegacy(blockAndPvtData *ledger.BlockAndPvtData, commitOpts *ledger.CommitOptions) error
- func (lc *LedgerCommitter) DoesPvtDataInfoExistInLedger(blockNum uint64) (bool, error)
- func (lc *LedgerCommitter) GetBlocks(blockSeqs []uint64) []*common.Block
- func (lc *LedgerCommitter) GetPvtDataAndBlockByNum(seqNum uint64) (*ledger.BlockAndPvtData, error)
- func (lc *LedgerCommitter) LedgerHeight() (uint64, error)
- type PeerLedgerSupport
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Committer ¶
type Committer interface {
// CommitLegacy block and private data into the ledger
CommitLegacy(blockAndPvtData *ledger.BlockAndPvtData, commitOpts *ledger.CommitOptions) error
// GetPvtDataAndBlockByNum retrieves block with private data with given
// sequence number
GetPvtDataAndBlockByNum(seqNum uint64) (*ledger.BlockAndPvtData, error)
// GetPvtDataByNum returns a slice of the private data from the ledger
// for given block and based on the filter which indicates a map of
// collections and namespaces of private data to retrieve
GetPvtDataByNum(blockNum uint64, filter ledger.PvtNsCollFilter) ([]*ledger.TxPvtData, error)
// Get recent block sequence number
LedgerHeight() (uint64, error)
// DoesPvtDataInfoExistInLedger returns true if the ledger has pvtdata info
// about a given block number.
DoesPvtDataInfoExistInLedger(blockNum uint64) (bool, error)
// Gets blocks with sequence numbers provided in the slice
GetBlocks(blockSeqs []uint64) []*common.Block
// GetConfigHistoryRetriever returns the ConfigHistoryRetriever
GetConfigHistoryRetriever() (ledger.ConfigHistoryRetriever, error)
// CommitPvtDataOfOldBlocks commits the private data corresponding to already committed block
// If hashes for some of the private data supplied in this function does not match
// the corresponding hash present in the block, the unmatched private data is not
// committed and instead the mismatch inforation is returned back
CommitPvtDataOfOldBlocks(reconciledPvtdata []*ledger.ReconciledPvtdata) ([]*ledger.PvtdataHashMismatch, error)
// GetMissingPvtDataTracker return the MissingPvtDataTracker
GetMissingPvtDataTracker() (ledger.MissingPvtDataTracker, error)
// Closes committing service
Close()
}
Committer is the interface supported by committers The only committer is noopssinglechain committer. The interface is intentionally sparse with the sole aim of "leave-everything-to-the-committer-for-now". As we solidify the bootstrap process and as we add more support (such as Gossip) this interface will change
type LedgerCommitter ¶
type LedgerCommitter struct {
PeerLedgerSupport
}
LedgerCommitter is the implementation of Committer interface it keeps the reference to the ledger to commit blocks and retrieve chain information
func NewLedgerCommitter ¶
func NewLedgerCommitter(ledger PeerLedgerSupport) *LedgerCommitter
NewLedgerCommitter is a factory function to create an instance of the committer which passes incoming blocks via validation and commits them into the ledger.
func (*LedgerCommitter) CommitLegacy ¶
func (lc *LedgerCommitter) CommitLegacy(blockAndPvtData *ledger.BlockAndPvtData, commitOpts *ledger.CommitOptions) error
CommitLegacy commits blocks atomically with private data
func (*LedgerCommitter) DoesPvtDataInfoExistInLedger ¶ added in v1.4.2
func (lc *LedgerCommitter) DoesPvtDataInfoExistInLedger(blockNum uint64) (bool, error)
DoesPvtDataInfoExistInLedger returns true if the ledger has pvtdata info about a given block number.
func (*LedgerCommitter) GetBlocks ¶
func (lc *LedgerCommitter) GetBlocks(blockSeqs []uint64) []*common.Block
GetBlocks used to retrieve blocks with sequence numbers provided in the slice
func (*LedgerCommitter) GetPvtDataAndBlockByNum ¶ added in v1.1.0
func (lc *LedgerCommitter) GetPvtDataAndBlockByNum(seqNum uint64) (*ledger.BlockAndPvtData, error)
GetPvtDataAndBlockByNum retrieves private data and block for given sequence number
func (*LedgerCommitter) LedgerHeight ¶
func (lc *LedgerCommitter) LedgerHeight() (uint64, error)
LedgerHeight returns recently committed block sequence number
type PeerLedgerSupport ¶ added in v1.2.0
type PeerLedgerSupport interface {
GetPvtDataAndBlockByNum(blockNum uint64, filter ledger.PvtNsCollFilter) (*ledger.BlockAndPvtData, error)
GetPvtDataByNum(blockNum uint64, filter ledger.PvtNsCollFilter) ([]*ledger.TxPvtData, error)
CommitLegacy(blockAndPvtdata *ledger.BlockAndPvtData, commitOpts *ledger.CommitOptions) error
CommitPvtDataOfOldBlocks(reconciledPvtdata []*ledger.ReconciledPvtdata) ([]*ledger.PvtdataHashMismatch, error)
GetBlockchainInfo() (*common.BlockchainInfo, error)
DoesPvtDataInfoExist(blockNum uint64) (bool, error)
GetBlockByNumber(blockNumber uint64) (*common.Block, error)
GetConfigHistoryRetriever() (ledger.ConfigHistoryRetriever, error)
GetMissingPvtDataTracker() (ledger.MissingPvtDataTracker, error)
Close()
}
PeerLedgerSupport abstract out the API's of ledger.PeerLedger interface required to implement LedgerCommitter
Source Files
¶
- committer.go
- committer_impl.go