From 430e4cd399e10f45c29212cf8d598a7beb7d4605 Mon Sep 17 00:00:00 2001 From: bojie Date: Wed, 16 Jan 2019 17:08:56 +0800 Subject: app: fix reward bug with empty block (#155) * app: fix reward bug with empty block * make block generation consistent * revert change to dmoment in genesis.json --- core/blockchain.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'core') diff --git a/core/blockchain.go b/core/blockchain.go index 6aee356d2..e6d7cdc76 100644 --- a/core/blockchain.go +++ b/core/blockchain.go @@ -1959,13 +1959,12 @@ func (bc *BlockChain) ProcessEmptyBlock(block *types.Block) (*common.Hash, error } header.ParentHash = parentBlock.Hash() - header.GasUsed = 0 - header.Root = currentState.IntermediateRoot(true) + newBlock, err := bc.engine.Finalize(bc, header, currentState, nil, nil, nil) + if header.Root != parentBlock.Root() { return nil, fmt.Errorf("empty block state root must same as parent") } - newBlock := types.NewBlock(header, nil, nil, nil) root := newBlock.Root() if _, ok := bc.GetRoundHeight(newBlock.Round()); !ok { bc.storeRoundHeight(newBlock.Round(), newBlock.NumberU64()) -- cgit v1.2.3