Object Model

ObjectStore

All objects are stored using the ObjectStore. Each object in the ObjectStore has an attribute object-type and an object-id. Each type of object (organization, participant, bond, etc.) has an object-type associated with it. Each object has an object-id, which is a sha256 hex digest.

ObjectStore is backed by a key/value database. The storage key used is the object-id, with the value being the object data.

For each object-type, the ObjectStore maintains a list of indexes associated with it. So, for example, the ‘bond’ object-type has an ‘isin’ index which can be used to lookup bonds by their ‘isin’ attribute.

Note

The object-id is a 64 character string. In the sections that follow, we represent that string with OBJECT_ID for documentation purposes (the long string would often fall off the right side of the page). The object-id would never actually be set to the string literal ‘OBJECT_ID’.

Common Attributes

The following attributes are commonly used:

creator-id
The identifier of the signing key on the transaction which created the object. In some instances, this is used to control authorization on operations associated with the object.
object-id

The object’s unique identifer, a 64-character string, as described in ObjectStore.

Indexed, Unique

ref-count
The number of other objects referencing this object. This is used primarily to determine if the object can be safely deleted.