Skip to content

Terminology ​

The Asset Register documentation introduces new terminology to describe its usage. A brief review of this document before exploring guides will help you understand them better.

On-Chain Asset ​

Assets that are created by a third party with the existence attested on a blockchain network supported by the Asset Register. The Asset Register can only interact with these assets through the interface provided by the smart contract or runtime module on the blockchain where the asset is located. Therefore, it is imperative that asset collections deployed on the respective networks adhere to the NFT specifications.


Off-Chain Asset ​

Assets that are created by a third party and attested by the third party’s system. Therefore, the third party is the creator and has superuser access over all their off-chain assets. Each asset must be registered on the Asset Register and registered against a schema to be a valid off-chain asset.


A link between two assets (parent and child) based on a relationship path e.g. equippedWith_gloves. The Asset Register uses these relationships to build the asset trees that describe an asset.


Asset Schema ​

Describes the properties of an asset and its compatibility with other assets through asset links. Schemas should be stored in a globally accessible and permanent location and be registered against an asset. The Asset Register will provide internal Futureverse teams with the ability to store schemas on a Futureverse namespace.

HairStyle Example ​

mermaid
graph TD
  tnl:HairStyle --> fv:HairStyle
  fluf:HairStyle --> fv:HairStyle
  fv:HairStyle --> fvp:OffChainSFTAsset
  fvp:OffChainSFTAsset --> fvp:OffChainAsset
  fv:HairStyle --> fvp:OnChainERC1155Asset
  fvp:OnChainERC1155Asset --> fvp:OnChainAsset

Turtle Syntax ​

Turtle syntax is used to create the schemas.

TNL Hair Style ​

json
@prefix tnl: <http://www.schema.futureverse.com/tnl#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix fv: <[http://schema.futureverse.com/fv#nf](https://www.notion.so/RFC-NFT-Indexer-df40caae2efc4f45b35c5acd2f1aeb59?pvs=21)> .
@prefix rdf: <http://www.w3.org/2000/01/rdf-schema#> .

tnl:HairStyle a rdf:Class, sh:NodeShape ;
    sh:node fv:HairStyle .

FV Hair Style ​

json
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix fv: <http://schema.futureverse.com/fv#> .
@prefix fvp: <http://schema.futureverse.com/fvp#> .
@prefix rdf: <http://www.w3.org/2000/01/rdf-schema#> .

fv:HairStyle a rdf:Class, sh:NodeShape ;
	sh:or (
    [ sh:node fvp:OnChainERC1155Asset ]
    [ sh:node fvp:OffChainSFTAsset ]
  ) .

Asset Tree ​

Describes all the nested asset links for a given asset.

Root Parent Asset ​

mermaid
graph LR
  tnl:Boxer --> |equippedWith_brain| fv:ASMBrain --> |equippedWith_memory| fv:ASMMemory
  tnl:Boxer --> |equippedWith_gloves| tnl:Gloves
  tnl:Boxer --> |equippedWith_hairStyle| tnl:HairStyle
  tnl:Boxer --> |equippedWith_hairDye| tnl:HairDye
json
{
  "@context": {
    "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
    "schema": "http://schema.org/",
    "tnl": "http://schema.futureverse.com/tnl#",
    "fvp": "http://schema.futureverse.com/fvp#",
    "fv": "http://schema.futureverse.com/fv#"
  },
  "@graph": [
    {
      "@id": "did:fv-asset:1:evm:0x6bca6de2dbdc4e0d41f7273011785ea16ba47182:1868",
      "rdf:type": "tnl:Boxer",
      "fvp:equippedWith_asmBrain": {
        "@id": "did:fv-asset:1:evm:0xd0318da435dbce0b347cc6faa330b5a9889e3585:1211"
      },
      "fvp:equippedWith_hairStyle": {
        "@id": "did:fv-asset:off-chain:0x854A3E045Ac44a7f4A1726AdAC576029135DFdA7:533"
      },
      "fvp:equippedWith_hairDye": {
        "@id": "did:fv-asset:off-chain:0x854A3E045Ac44a7f4A1726AdAC576029135DFdA7:853"
      },
      "fvp:equippedWith_gloves": {
        "@id": "did:fv-asset:1:evm:0x1ea66a857de297471bc12dd12d93853ff6617284:203"
			}
    },
    {
      "@id": "did:fv-asset:1:evm:0xd0318da435dbce0b347cc6faa330b5a9889e3585:1211",
      "rdf:type": "fv:ASMBrain",
      "equippedWith_memory": {
        "@id": "did:fv-asset:off-chain:0x0d2aedB4D26A63143240AE655D6B22627ad9298f:345"
      }
    },
    {
      "@id": "did:fv-asset:off-chain:0x0d2aedB4D26A63143240AE655D6B22627ad9298f:345",
      "rdf:type": "fv:ASMMemory"
    },
    {
      "@id": "did:fv-asset:off-chain:0x854A3E045Ac44a7f4A1726AdAC576029135DFdA7:533",
      "rdf:type": "tnl:HairStyle"
    },
    {
      "@id": "did:fv-asset:off-chain:0x854A3E045Ac44a7f4A1726AdAC576029135DFdA7:853",
      "rdf:type": "tnl:HairDye"
    },
    {
      "@id": "did:fv-asset:1:evm:0x1ea66a857de297471bc12dd12d93853ff6617284:203",
      "rdf:type": "tnl:Gloves"
    }
  ]
}

Nested Parent Asset ​

mermaid
graph TD
  fv:ASMBrain --> |equippedWith_memory| fv:ASMMemory
json
{
  "@context": {
    "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
    "schema": "http://schema.org/",
    "fvp": "http://schema.futureverse.com/fvp#",
    "fv": "http://schema.futureverse.com/fv#"
  },
  "@graph": [
    {
      "@id": "did:fv-asset:1:evm:0xd0318da435dbce0b347cc6faa330b5a9889e3585:1211",
      "rdf:type": "fv:ASMBrain",
      "equippedWith_memory": {
        "@id": "did:fv-asset:off-chain:0x0d2aedB4D26A63143240AE655D6B22627ad9298f:345"
      }
    },
    {
      "@id": "did:fv-asset:off-chain:0x0d2aedB4D26A63143240AE655D6B22627ad9298f:345",
      "rdf:type": "fv:ASMMemory"
    }
  ]
}

Curated independently by Codeology. Source-attributed reference for The Root Network. Not affiliated with Futureverse / TRN Labs.