code: func NewIdentityAttributeEntry(receiverChainID string, destinationChainID string, attributesJSON string, signerKey *IdentityKey, signerChainID string) *Entry {
  	message := []byte(receiverChainID + destinationChainID)
  	attributeHash := sha256.Sum256([]byte(attributesJSON))
  	message = append(message, attributeHash[:]...)
  	signature := signerKey.Sign(message)
  
  	e := Entry{}
  	e.ChainID = destinationChainID
  	e.ExtIDs = [][]byte{
  		[]byte("IdentityAttribute"),
  		[]byte(receiverChainID),
  		signature[:],
  		[]byte(signerKey.String()),
  		[]byte(signerChainID),
  	}
  	e.Content = []byte(attributesJSON)
  	return &e
  }
docs: // NewIdentityAttributeEntry creates and returns an Entry struct that assigns an attribute JSON object to a given
  // identity. Publish it to the blockchain using the usual factom.CommitEntry(...) and factom.RevealEntry(...) calls.