Help us shape the future of Go! Take the 2026 Go Developer Survey

blockledger

package
v1.4.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2020 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

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

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

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

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)
	// Close releases resources acquired by the Iterator
	Close()
}

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

type ReadWriter interface {
	Reader
	Writer
}

ReadWriter encapsulates the read/write functions of the ledger

type Reader

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

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

Writer allows the caller to modify the ledger

Directories

Path Synopsis
Code generated by mockery v1.0.0.
Code generated by mockery v1.0.0.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL