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

package blockledger

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

Index

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

Factory retrieves or creates new ledgers by chainID

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

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 {
    Reader
    Writer
}

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

Directories

PathSynopsis
file
json
mocksCode generated by mockery v1.0.0.
ram

Package blockledger imports 3 packages (graph) and is imported by 12 packages. Updated 2019-07-08. Refresh now. Tools for package owners.