Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateNextBlock ¶
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 accomodate non-deterministic marshaling
Types ¶
type Factory ¶
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 }
Factory retrieves or creates new ledgers by chainID
type Iterator ¶
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) // ReadyChan supplies a channel which will block until Next will not block ReadyChan() <-chan struct{} }
Iterator is useful for a chain Reader to stream blocks as they are created
type NotFoundErrorIterator ¶
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) 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 encapsulated both the reading and writing functions of the ordererledger
type Reader ¶
type Reader interface { // Iterator retrieves an Iterator, as specified by an cb.SeekInfo message, returning an iterator, and its starting block number Iterator(startType *ab.SeekPosition) (Iterator, uint64) // Height returns the highest block number in the chain, plus one Height() uint64 }
Reader allows the caller to inspect the orderer ledger