Mismatch Block Hash in RPC Response #721

Description
System info:
In RPC eth.getBlock
Response, the Block Hash is generated by header.Hash()
which mismatch the header.LastBlockID.Hash
.
For example, Block[N+1] Parent Hash
!= Block[N] Block Hash
due to the Block[N].header.Hash() != Block[N+1]. header.LastBlockID.Hash
.
Steps to reproduce:
Simply start the chain and observe the parentHash
field of any Block Height > 1 and the previous Block in RPC eth.getBlock
Response.
Some of the Block Hash may not equal the next Block's Parent Hash.
Expected behavior: Block[N] Hash = Block[N+1] Parent Hash
Actual behavior: Block[N] Hash != Block[N+1] Parent Hash
Additional info:
We may use back the BlockID information from the Tendermint ResultBlock
Response to reproduce a correct Block Hash.
A simple modification can reference to Fix Web3 Block Hash