diff options
Diffstat (limited to 'consensus/consensus.go')
-rw-r--r-- | consensus/consensus.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/consensus/consensus.go b/consensus/consensus.go index e318e57c0..8cbd32c88 100644 --- a/consensus/consensus.go +++ b/consensus/consensus.go @@ -40,12 +40,20 @@ type ChainReader interface { // GetHeaderByNumber retrieves a block header from the database by number. GetHeaderByNumber(number uint64) *types.Header + // GetHeaderByHash retrieves a block header from the database by its hash. + GetHeaderByHash(hash common.Hash) *types.Header + // GetBlock retrieves a block from the database by hash and number. GetBlock(hash common.Hash, number uint64) *types.Block } // Engine is an algorithm agnostic consensus engine. type Engine interface { + // Author retrieves the Ethereum address of the account that minted the given + // block, which may be different from the header's coinbase if a consensus + // engine is based on signatures. + Author(header *types.Header) (common.Address, error) + // VerifyHeader checks whether a header conforms to the consensus rules of a // given engine. Verifying the seal may be done optionally here, or explicitly // via the VerifySeal method. |