title: Composite Key functions in Hyperledger
body: <p>I need to implement composite keys in hyperledger so that I could have a unique key based on the attributes put into the ledger. The function <code>CreateCompositeKey(objectType string, attributes []string)(string,error)</code>
  takes in objectType and attributes string. I couldnt find any examples of this online, how are the relevant attributes to be made into the composite key passed and in what way is the output given?
  <br> So the way Composite keys should be used is make a key first and then push it to the blockchain with <code>PutState(key string, value []byte) error</code> where the hey in PutState is the output of CreateCompositeKey? If not, then how are composite keys to be used?
  <br>Similarly in </p>
  
  <pre><code>GetStateByPartialCompositeKey(objectType string, keys []string) (StateQueryIteratorInterface, error)
  </code></pre>
  
  <p>How are the keys we want to make queries by passed to the function? And what are the output data types "StateQueryIteratorInterface" and "HistoryQueryIteratorInterface"?
  <br> I am fairly new to programming and have no prior knowledge of databases so am getting confused with really basic things. I'd really appreciate some help!</p>