...

Package blockledger

import "github.com/hyperledger/fabric/common/ledger/blockledger"
Overview
Index
Subdirectories

Overview ▾

func CreateNextBlock

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

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

GetBlock is a utility method for retrieving a single block

type Factory

Factory retrieves or creates new ledgers by chainID

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

    // ChainIDs returns the chain IDs the Factory is aware of
    ChainIDs() []string

    // Close releases all resources acquired by the factory
    Close()
}

type Iterator

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

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
    Close()
}

type NotFoundErrorIterator

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

type NotFoundErrorIterator struct{}

func (*NotFoundErrorIterator) Close

func (nfei *NotFoundErrorIterator) Close()

Close does nothing

func (*NotFoundErrorIterator) Next

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

Next returns nil, cb.Status_NOT_FOUND

func (*NotFoundErrorIterator) ReadyChan

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

ReadyChan returns a closed channel

type ReadWriter

ReadWriter encapsulates the read/write functions of the ledger

type ReadWriter interface {
    Reader
    Writer
}

type Reader

Reader allows the caller to inspect the ledger

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
}

type Writer

Writer allows the caller to modify the ledger

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

Subdirectories

Name Synopsis
..
file
json
mocks Code generated by mockery v1.0.0.
ram