
简介共识负责区块的构建、广播以及通过PoS机制确保整个网络对区块链状态达成一致共识接口EnginetypeEngineinterface{Author(header*types.Header)(common.Address,error)VerifyHeader(chain ChainHeaderReader,header*types.Header)errorVerifyHeaders(chain ChainHeaderReader,headers[]*types.Header)(chan-struct{},-chanerror)VerifyUncles(chain ChainReader,block*types.Block)errorPrepare(chain ChainHeaderReader,header*types.Header)errorFinalize(chain ChainHeaderReader,header*types.Header,state vm.StateDB,body*types.Body)FinalizeAndAssemble(chain ChainHeaderReader,header*types.Header,state*state.StateDB,body*types.Body,receipts[]*types.Receipt)(*types.Block,error)Seal(chain ChainHeaderReader,block*types.Block,resultschan-*types.Block,stop-chanstruct{})errorSealHash(header*types.Header)common.HashCalcDifficulty(chain ChainHeaderReader,timeuint64,parent*types.Header)*big.IntClose()error}其支持三种共识机制EthashPoW (工作量证明)CliquePoA (权威证明)BeaconPoS(权益证明)«interface»EngineCliqueBeaconEthash主要是core和miner中使用