code: func (r *Request) toChunk() (storage.Chunk, error) {
  
  	// Check that the update is signed and serialized
  	// For efficiency, data is serialized during signature and cached in
  	// the binaryData field when computing the signature digest in .getDigest()
  	if r.Signature == nil || r.binaryData == nil {
  		return nil, NewError(ErrInvalidSignature, "toChunk called without a valid signature or payload data. Call .Sign() first.")
  	}
  
  	updateLength := r.Update.binaryLength()
  
  	// signature is the last item in the chunk data
  	copy(r.binaryData[updateLength:], r.Signature[:])
  
  	chunk := storage.NewChunk(r.idAddr, r.binaryData)
  	return chunk, nil
  }
docs: // create an update chunk.