Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildBlock ¶
func BuildBlock(params BuildBlockParams) *types.Block
BuildBlock is a utility function that builds a block, based on the passed in header, transactions and receipts
Types ¶
type BuildBlockParams ¶
type BuildBlockParams struct {
Header *types.Header
Txns []*types.Transaction
Receipts []*types.Receipt
}
BuildBlockParams are parameters passed into the BuildBlock helper method
type Config ¶
type Config struct {
// Logger to be used by the consensus
Logger *log.Logger
// Params are the params of the chain and the consensus
Params *chain.Params
// Config defines specific configuration parameters for the consensus
Config map[string]interface{}
// Path is the directory path for the consensus protocol tos tore information
Path string
}
Config is the configuration for the consensus
type Consensus ¶
type Consensus interface {
// VerifyHeader verifies the header is correct
VerifyHeader(header *types.Header) error
// ProcessHeaders updates the snapshot based on the verified headers
ProcessHeaders(headers []*types.Header) error
// GetBlockCreator retrieves the block creator (or signer) given the block header
GetBlockCreator(header *types.Header) (types.Address, error)
// PreStateCommit a hook to be called before finalizing state transition on inserting block
PreStateCommit(header *types.Header, txn *state.Transition) error
// GetSyncProgression retrieves the current sync progression, if any
GetSyncProgression() *progress.Progression
// Initialize initializes the consensus (e.g. setup data)
Initialize() error
// Start starts the consensus and servers
Start() error
// Close closes the connection
Close() error
}
Consensus is the public interface for consensus mechanism Each consensus mechanism must implement this interface in order to be valid
type Metrics ¶
type Metrics struct {
// No.of validators
Validators metrics.Gauge
// No.of rounds
Rounds metrics.Gauge
// No.of transactions in the block
NumTxs metrics.Gauge
//Time between current block and the previous block in seconds
BlockInterval metrics.Gauge
}
Metrics represents the consensus metrics
func GetPrometheusMetrics ¶
GetPrometheusMetrics return the consensus metrics instance
Click to show internal directories.
Click to hide internal directories.