fabric: github.com/hyperledger/fabric/common/ledger/blockledger Index | Files | Directories

package blockledger

import "github.com/hyperledger/fabric/common/ledger/blockledger"


Package Files

ledger.go util.go

func CreateNextBlock Uses

func CreateNextBlock(rl Reader, messages []*cb.Envelope) *cb.Block

CreateNextBlock provides a utility way to construct the next block from contents and metadata for a given ledger XXX This will need to be modified to accept marshaled envelopes

to accommodate non-deterministic marshaling

func GetBlock Uses

func GetBlock(rl Reader, index uint64) *cb.Block

GetBlock is a utility method for retrieving a single block

type Factory Uses

type Factory interface {
    // GetOrCreate gets an existing ledger (if it exists)
    // or creates it if it does not
    GetOrCreate(channelID string) (ReadWriter, error)

    // Remove removes an existing ledger
    Remove(channelID string) error

    // ChannelIDs returns the channel IDs the Factory is aware of
    ChannelIDs() []string

    // Close releases all resources acquired by the factory

Factory retrieves or creates new ledgers by channelID

type Iterator Uses

type Iterator interface {
    // Next blocks until there is a new block available, or returns an error if
    // the next block is no longer retrievable
    Next() (*cb.Block, cb.Status)
    // Close releases resources acquired by the Iterator

Iterator is useful for a chain Reader to stream blocks as they are created

type NotFoundErrorIterator Uses

type NotFoundErrorIterator struct{}

NotFoundErrorIterator simply always returns an error of cb.Status_NOT_FOUND, and is generally useful for implementations of the Reader interface

func (*NotFoundErrorIterator) Close Uses

func (nfei *NotFoundErrorIterator) Close()

Close does nothing

func (*NotFoundErrorIterator) Next Uses

func (nfei *NotFoundErrorIterator) Next() (*cb.Block, cb.Status)

Next returns nil, cb.Status_NOT_FOUND

func (*NotFoundErrorIterator) ReadyChan Uses

func (nfei *NotFoundErrorIterator) ReadyChan() <-chan struct{}

ReadyChan returns a closed channel

type ReadWriter Uses

type ReadWriter interface {

ReadWriter encapsulates the read/write functions of the ledger

type Reader Uses

type Reader interface {
    // Iterator returns an Iterator, as specified by an ab.SeekInfo message, and
    // its starting block number
    Iterator(startType *ab.SeekPosition) (Iterator, uint64)
    // Height returns the number of blocks on the ledger
    Height() uint64

Reader allows the caller to inspect the ledger

type Writer Uses

type Writer interface {
    // Append a new block to the ledger
    Append(block *cb.Block) error

Writer allows the caller to modify the ledger


fileledger/mockCode generated by counterfeiter.

Package blockledger imports 4 packages (graph) and is imported by 33 packages. Updated 2020-08-04. Refresh now. Tools for package owners.