bcm

package
v0.0.0-...-2935fa7 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2021 License: Apache-2.0 Imports: 23 Imported by: 0

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.BlockStore
	// contains filtered or unexported fields
}

func NewBlockExplorer

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

func NewBlockStore

func NewBlockStore(blockStore state.BlockStore) *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 hscbinary.HexBytes `` /* 144-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           hscbinary.HexBytes `protobuf:"bytes,4,opt,name=GenesisHash,proto3,customtype=github.com/klyed/hivesmartchain/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:"LatestBlockHeight,omitempty"`
	LatestBlockHash   hscbinary.HexBytes `` /* 132-byte string literal not displayed */
	LatestAppHash     hscbinary.HexBytes `` /* 128-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

Jump to

Keyboard shortcuts

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