code: func (r FutureGetBlockResult) Receive() (*wire.MsgBlock, error) {
  	res, err := receiveFuture(r)
  	if err != nil {
  		return nil, err
  	}
  
  	// Unmarshal result as a string.
  	var blockHex string
  	err = json.Unmarshal(res, &blockHex)
  	if err != nil {
  		return nil, err
  	}
  
  	// Decode the serialized block hex to raw bytes.
  	serializedBlock, err := hex.DecodeString(blockHex)
  	if err != nil {
  		return nil, err
  	}
  
  	// Deserialize the block and return it.
  	var msgBlock wire.MsgBlock
  	err = msgBlock.Deserialize(bytes.NewReader(serializedBlock))
  	if err != nil {
  		return nil, err
  	}
  	return &msgBlock, nil
  }
docs: // Receive waits for the response promised by the future and returns the raw
  // block requested from the server given its hash.