Documentation ¶
Index ¶
Constants ¶
View Source
const DefaultBlockIntervalSec = int64(1)
DefaultBlockIntervalSec is the default block generation interval in seconds.
Variables ¶
View Source
var ( // BlockIntervalSec is the block genration interval in seconds. BlockIntervalSec = DefaultBlockIntervalSec // BlockInterval is the maximum block generation time limit. BlockInterval = time.Second * time.Duration(DefaultBlockIntervalSec) )
View Source
var ConsensusName = []string{"dpos", "raft", "sbp"}
Functions ¶
func InitBlockInterval ¶
func InitBlockInterval(blockIntervalSec int64)
InitBlockInterval initializes block interval parameters.
Types ¶
type BlockFactory ¶
type BlockFactory interface { Start() JobQueue() chan<- interface{} }
BlockFactory is an interface for a block factory implementation.
type ChainConsensus ¶
type ChainConsensus interface { GetType() ConsensusType IsTransactionValid(tx *types.Tx) bool VerifyTimestamp(block *types.Block) bool VerifySign(block *types.Block) error IsBlockValid(block *types.Block, bestBlock *types.Block) error Update(block *types.Block) Save(tx db.Transaction) error NeedReorganization(rootNo types.BlockNo) bool Info() string }
ChainConsensus includes chainstatus and validation API.
type ChainDB ¶ added in v0.9.4
type ChainDB interface { GetBestBlock() (*types.Block, error) GetBlockByNo(blockNo types.BlockNo) (*types.Block, error) GetGenesisInfo() *types.Genesis Get(key []byte) []byte NewTx() db.Transaction }
ChainDB is a reader interface for the ChainDB.
type Consensus ¶
type Consensus interface { ChainConsensus ConsensusAccessor Ticker() *time.Ticker QueueJob(now time.Time, jq chan<- interface{}) BlockFactory() BlockFactory QuitChan() chan interface{} }
Consensus is an interface for a consensus implementation.
type ConsensusAccessor ¶ added in v1.0.0
type ConsensusAccessor interface {
ConsensusInfo() *types.ConsensusInfo
}
type ConsensusType ¶ added in v1.0.0
type ConsensusType int
const ( ConsensusDPOS ConsensusType = iota ConsensusRAFT ConsensusSBP )
type Constructor ¶ added in v0.9.4
Constructor represents a function returning the Consensus interfactor for each implementation.
type ErrorConsensus ¶
ErrorConsensus is a basic error struct for consensus modules.
func (ErrorConsensus) Error ¶
func (e ErrorConsensus) Error() string
Click to show internal directories.
Click to hide internal directories.