code: func (bc *BlockChain) GetBlockByHash(hash common.Hash) *types.Block {
  	number := bc.hc.GetBlockNumber(hash)
  	if number == nil {
  		return nil
  	}
  	return bc.GetBlock(hash, *number)
  }
docs: // GetBlockByHash retrieves a block from the database by hash, caching it if found.