code: func (r FutureGetBlockHeaderResult) Receive() (*wire.BlockHeader, error) {
  	res, err := receiveFuture(r)
  	if err != nil {
  		return nil, err
  	}
  
  	// Unmarshal result as a string.
  	var bhHex string
  	err = json.Unmarshal(res, &bhHex)
  	if err != nil {
  		return nil, err
  	}
  
  	serializedBH, err := hex.DecodeString(bhHex)
  	if err != nil {
  		return nil, err
  	}
  
  	// Deserialize the blockheader and return it.
  	var bh wire.BlockHeader
  	err = bh.Deserialize(bytes.NewReader(serializedBH))
  	if err != nil {
  		return nil, err
  	}
  
  	return &bh, err
  }
docs: // Receive waits for the response promised by the future and returns the
  // blockheader requested from the server given its hash.