Chaincode design topics
Composite keys
We often need to store multiple instances of one type on the ledger, such as multiple trade agreements, letters of credit, and so on. In this case, the keys of those instances will be typically constructed from a combination of attributes—for example, "Trade" + ID, yielding ["Trade1","Trade2", ...]
. The key of an instance can be customized in the code, or API functions can be provided in SHIM to construct a composite key (in other words, a unique key) of an instance based on a combination of several attributes. These functions simplify composite key construction. Composite keys can then be used just as a normal string key is used to record and retrieve values using the PutState()
and GetState()
functions.
The following snippet shows a list of functions that create and work with composite keys:
// The function creates a key by combining the attributes into a single string. // The arguments must be valid utf8 strings and must not contain U+0000 (nil byte...