Asset Nodes
Asset nodes point at the metadata for an asset and function as their tokenized representation.
Asset nodes only exist as leafs in the ContentGraph.
Asset Nodes Ids
The unique id of an asset is calculated based on the content it represents. The unique identifier for a digital asset is generated by hashing the raw data with the keccak256 (opens in a new tab) hashing algorithm. This creates a 256 bit/32 byte unique identifier. As asset nodes are unique there should only be one owner per digital asset. An existing asset can be redistributed through creating a reference node for the original asset.
Input: Hello World!
keccak256 Output: 0x3ea2f1d0abf3fc66cf29eebb70cbd4e7fe762ef8a09bcc06c8edf641230afec0
Authorization
Authorization modules for both reference and access are set utilizing the setAccessAuth()
and setReferenceAuth()
methods.
Providing auth to a user at the asset level means that all users authorized here will have access/reference on all child content nodes.
If a user does not satisfy either, authorization will be delegated to parent org nodes modules.
Asset Node Schema
Fields
data
contains all the associated metadata for an assetsignature
contains the signature param/values from signing the content in the data fieldbinding
contains a hash value from the asset
data
data.description
a textual description of the underlying content of the assetdata.encrypted
a boolean to describe the data state in the content locationsdata.access
a key value list of params organized by method for accessing the contentdata.content
a list of locations of the content and the corresponding encodingdata.content[i].location
a uri where the content is accessibledata.content[i].type
the MIME type of the contentdata.manifest
a extendable field where additional metadata can be stored and attested to by the signerdata.contentBinding.hash
the hash of the raw unencrypted content associated with the assetdata.contentBinding.algo
the algorithm used to hash the raw unencrypted content associated with the asset
access Methods & Schema
See licenses section for more information on methods of access and how licenses work in VERIFY.
signature
signature.curve
the elliptic curve used to sign the content of the data fieldsignature.signature
the produced signature from signing the messagesignature.message
the keccak256 hash of the content in the data fieldsignature.description
a textual description of the method used to generate the signature
Example Asset Node Schema
{
"data": {
"description": "",
"encrypted": true|false,
"access": {
},
"content": [
{
"location": "",
"type": ""
}
],
"manifest": {},
"contentBinding": {
"algo": "",
"hash": ""
},
},
"signature": {
"curve": "",
"signature": "",
"message": "",
"description": ""
},
}