Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLengthBcm        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowBcm          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupBcm = fmt.Errorf("proto: unexpected end of group")
)

Functions

This section is empty.

Types

type Block

type Block struct {
	*types.Block
	// contains filtered or unexported fields
}

func NewBlock

func NewBlock(txDecoder txs.Decoder, block *types.Block) *Block

func (*Block) Transactions

func (b *Block) Transactions(iter func(*txs.Envelope) error) error

type BlockStore

type BlockStore struct {
	state.BlockStoreRPC
	// contains filtered or unexported fields
}

func NewBlockExplorer

func NewBlockExplorer(dbBackendType dbm.BackendType, dbDir string) *BlockStore

func NewBlockStore

func NewBlockStore(blockStore state.BlockStoreRPC) *BlockStore

func (*BlockStore) Block

func (bs *BlockStore) Block(height int64) (_ *Block, err error)

func (*BlockStore) BlockMeta

func (bs *BlockStore) BlockMeta(height int64) (_ *types.BlockMeta, err error)

func (*BlockStore) Blocks

func (bs *BlockStore) Blocks(start, end int64, iter func(*Block) error) error

    Iterate over blocks between start (inclusive) and end (exclusive)

    type Blockchain

    type Blockchain struct {
    	sync.RWMutex
    	// contains filtered or unexported fields
    }

    func LoadOrNewBlockchain

    func LoadOrNewBlockchain(db dbm.DB, genesisDoc *genesis.GenesisDoc, logger *logging.Logger) (_ *Blockchain, exists bool, _ error)

      LoadOrNewBlockchain returns true if state already exists

      func NewBlockchain

      func NewBlockchain(db dbm.DB, genesisDoc *genesis.GenesisDoc) *Blockchain

        NewBlockchain returns a pointer to blockchain state initialised from genesis

        func (*Blockchain) AppHashAfterLastBlock

        func (bc *Blockchain) AppHashAfterLastBlock() []byte

        func (*Blockchain) BlockHash

        func (bc *Blockchain) BlockHash(height uint64) ([]byte, error)

        func (*Blockchain) ChainID

        func (bc *Blockchain) ChainID() string

        func (*Blockchain) CommitBlock

        func (bc *Blockchain) CommitBlock(blockTime time.Time, blockHash, appHash []byte) error

        func (*Blockchain) CommitBlockAtHeight

        func (bc *Blockchain) CommitBlockAtHeight(blockTime time.Time, blockHash, appHash []byte, height uint64) error

        func (*Blockchain) CommitWithAppHash

        func (bc *Blockchain) CommitWithAppHash(appHash []byte) error

        func (*Blockchain) Encode

        func (bc *Blockchain) Encode() ([]byte, error)

        func (*Blockchain) GenesisDoc

        func (bc *Blockchain) GenesisDoc() genesis.GenesisDoc

        func (*Blockchain) GenesisHash

        func (bc *Blockchain) GenesisHash() []byte

        func (*Blockchain) GetBlockHeader

        func (bc *Blockchain) GetBlockHeader(height uint64) (*types.Header, error)

          GetBlockHeader returns the block header at any given height

          func (*Blockchain) GetNumTxs

          func (bc *Blockchain) GetNumTxs(height uint64) (int, error)

            GetNumTxs returns the number of transactions included in a block

            func (*Blockchain) LastBlockHash

            func (bc *Blockchain) LastBlockHash() []byte

            func (*Blockchain) LastBlockHeight

            func (bc *Blockchain) LastBlockHeight() uint64

            func (*Blockchain) LastBlockTime

            func (bc *Blockchain) LastBlockTime() time.Time

            func (*Blockchain) LastCommitDuration

            func (bc *Blockchain) LastCommitDuration() time.Duration

            func (*Blockchain) LastCommitTime

            func (bc *Blockchain) LastCommitTime() time.Time

            func (*Blockchain) SetBlockStore

            func (bc *Blockchain) SetBlockStore(bs *BlockStore)

            type BlockchainInfo

            type BlockchainInfo interface {
            	GenesisHash() []byte
            	GenesisDoc() genesis.GenesisDoc
            	ChainID() string
            	LastBlockHeight() uint64
            	LastBlockTime() time.Time
            	LastCommitTime() time.Time
            	LastCommitDuration() time.Duration
            	LastBlockHash() []byte
            	AppHashAfterLastBlock() []byte
            	// BlockHash gets the hash at a height (or nil if no BlockStore mounted or block could not be found)
            	BlockHash(height uint64) ([]byte, error)
            	// GetBlockHeader returns the header at the specified height
            	GetBlockHeader(blockNumber uint64) (*types.Header, error)
            	// GetNumTxs returns the number of transactions included in a particular block
            	GetNumTxs(blockNumber uint64) (int, error)
            }

            type PersistedState

            type PersistedState struct {
            	AppHashAfterLastBlock github_com_hyperledger_burrow_binary.HexBytes `` /* 142-byte string literal not displayed */
            	LastBlockTime         time.Time                                     `protobuf:"bytes,2,opt,name=LastBlockTime,proto3,stdtime" json:"LastBlockTime"`
            	LastBlockHeight       uint64                                        `protobuf:"varint,3,opt,name=LastBlockHeight,proto3" json:"LastBlockHeight,omitempty"`
            	GenesisHash           github_com_hyperledger_burrow_binary.HexBytes `protobuf:"bytes,4,opt,name=GenesisHash,proto3,customtype=github.com/hyperledger/burrow/binary.HexBytes" json:"GenesisHash"`
            	XXX_NoUnkeyedLiteral  struct{}                                      `json:"-"`
            	XXX_unrecognized      []byte                                        `json:"-"`
            	XXX_sizecache         int32                                         `json:"-"`
            }

            func (*PersistedState) Descriptor

            func (*PersistedState) Descriptor() ([]byte, []int)

            func (*PersistedState) GetLastBlockHeight

            func (m *PersistedState) GetLastBlockHeight() uint64

            func (*PersistedState) GetLastBlockTime

            func (m *PersistedState) GetLastBlockTime() time.Time

            func (*PersistedState) Marshal

            func (m *PersistedState) Marshal() (dAtA []byte, err error)

            func (*PersistedState) MarshalTo

            func (m *PersistedState) MarshalTo(dAtA []byte) (int, error)

            func (*PersistedState) MarshalToSizedBuffer

            func (m *PersistedState) MarshalToSizedBuffer(dAtA []byte) (int, error)

            func (*PersistedState) ProtoMessage

            func (*PersistedState) ProtoMessage()

            func (*PersistedState) Reset

            func (m *PersistedState) Reset()

            func (*PersistedState) Size

            func (m *PersistedState) Size() (n int)

            func (*PersistedState) String

            func (m *PersistedState) String() string

            func (*PersistedState) Unmarshal

            func (m *PersistedState) Unmarshal(dAtA []byte) error

            func (*PersistedState) XXX_DiscardUnknown

            func (m *PersistedState) XXX_DiscardUnknown()

            func (*PersistedState) XXX_Marshal

            func (m *PersistedState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

            func (*PersistedState) XXX_Merge

            func (m *PersistedState) XXX_Merge(src proto.Message)

            func (*PersistedState) XXX_MessageName

            func (*PersistedState) XXX_MessageName() string

            func (*PersistedState) XXX_Size

            func (m *PersistedState) XXX_Size() int

            func (*PersistedState) XXX_Unmarshal

            func (m *PersistedState) XXX_Unmarshal(b []byte) error

            type SyncInfo

            type SyncInfo struct {
            	LatestBlockHeight uint64                                        `protobuf:"varint,1,opt,name=LatestBlockHeight,proto3" json:""`
            	LatestBlockHash   github_com_hyperledger_burrow_binary.HexBytes `` /* 130-byte string literal not displayed */
            	LatestAppHash     github_com_hyperledger_burrow_binary.HexBytes `` /* 126-byte string literal not displayed */
            	// Timestamp of block as set by the block proposer
            	LatestBlockTime time.Time `protobuf:"bytes,4,opt,name=LatestBlockTime,proto3,stdtime" json:"LatestBlockTime"`
            	// Time at which we committed the last block
            	LatestBlockSeenTime time.Time `protobuf:"bytes,5,opt,name=LatestBlockSeenTime,proto3,stdtime" json:"LatestBlockSeenTime"`
            	// Time elapsed since last commit
            	LatestBlockDuration  time.Duration `protobuf:"bytes,6,opt,name=LatestBlockDuration,proto3,stdduration" json:"LatestBlockDuration"`
            	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
            	XXX_unrecognized     []byte        `json:"-"`
            	XXX_sizecache        int32         `json:"-"`
            }

            func GetSyncInfo

            func GetSyncInfo(blockchain BlockchainInfo) *SyncInfo

            func (*SyncInfo) Descriptor

            func (*SyncInfo) Descriptor() ([]byte, []int)

            func (*SyncInfo) GetLatestBlockDuration

            func (m *SyncInfo) GetLatestBlockDuration() time.Duration

            func (*SyncInfo) GetLatestBlockHeight

            func (m *SyncInfo) GetLatestBlockHeight() uint64

            func (*SyncInfo) GetLatestBlockSeenTime

            func (m *SyncInfo) GetLatestBlockSeenTime() time.Time

            func (*SyncInfo) GetLatestBlockTime

            func (m *SyncInfo) GetLatestBlockTime() time.Time

            func (*SyncInfo) Marshal

            func (m *SyncInfo) Marshal() (dAtA []byte, err error)

            func (*SyncInfo) MarshalTo

            func (m *SyncInfo) MarshalTo(dAtA []byte) (int, error)

            func (*SyncInfo) MarshalToSizedBuffer

            func (m *SyncInfo) MarshalToSizedBuffer(dAtA []byte) (int, error)

            func (*SyncInfo) ProtoMessage

            func (*SyncInfo) ProtoMessage()

            func (*SyncInfo) Reset

            func (m *SyncInfo) Reset()

            func (*SyncInfo) Size

            func (m *SyncInfo) Size() (n int)

            func (*SyncInfo) String

            func (m *SyncInfo) String() string

            func (*SyncInfo) Unmarshal

            func (m *SyncInfo) Unmarshal(dAtA []byte) error

            func (*SyncInfo) XXX_DiscardUnknown

            func (m *SyncInfo) XXX_DiscardUnknown()

            func (*SyncInfo) XXX_Marshal

            func (m *SyncInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

            func (*SyncInfo) XXX_Merge

            func (m *SyncInfo) XXX_Merge(src proto.Message)

            func (*SyncInfo) XXX_MessageName

            func (*SyncInfo) XXX_MessageName() string

            func (*SyncInfo) XXX_Size

            func (m *SyncInfo) XXX_Size() int

            func (*SyncInfo) XXX_Unmarshal

            func (m *SyncInfo) XXX_Unmarshal(b []byte) error