code: func ReadHeader(db ethdb.Reader, hash common.Hash, number uint64) *types.Header {
  	data := ReadHeaderRLP(db, hash, number)
  	if len(data) == 0 {
  		return nil
  	}
  	header := new(types.Header)
  	if err := rlp.Decode(bytes.NewReader(data), header); err != nil {
  		log.Error("Invalid block header RLP", "hash", hash, "err", err)
  		return nil
  	}
  	return header
  }
docs: // ReadHeader retrieves the block header corresponding to the hash.