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 ¶
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 ¶
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