Off-Chain Assets

Off-chain assets, as the name implies, lives on an off-chain database and ownership is managed by the creator.

Identifier

Off-chain assets need to be globally unique and identifiable just like on-chain assets. To achieve this for Futureverse assets, we have built an off-chain ownership repository to register any off-chain assets against the Asset Register.

DID

Since ownership resolution needs to be globally unique we can use the did:fv-asset DID method directly with the already globally unique Asset ID.

Example

did:fv-asset:off-chain:40877d72-9957-4de7-af77-1ee9f54a529e:12:4637


Asset types

Just like on-chain assets which are classified as ERC721 (NFT) and ERC1155 (equivalent to an SFT), off-chain assets can be defined in the same way.

NFT

A unique asset just like ERC721.

Defined by

off-chain:{creatorId}:{creatorCollectionId}:{tokenId}

For example: off-chain:40877d72-9957-4de7-af77-1ee9f54a529e:12:4637

SFT

A collection that can store an infinite amount of assets defined by the same asset ID.

Defined by

off-chain:{creatorId}:{creatorCollectionId}

For example: off-chain:40877d72-9957-4de7-af77-1ee9f54a529e:12


Register Off-Chain Asset ๐Ÿ”’

Unlike creating assets on the chain, off-chain assets must be registered with the Asset Register before they can then be registered with the schema.

Assuming the schema for the off-chain asset is already created, the following illustrates the process of fully registering a new off-chain asset with the Asset Register to generate an asset tree.

Register Asset - GraphQL Mutation

mutation RegisterOffChainAsset($input: RegisterOffChainAssetInput!) {
  registerOffChainAsset(input: $input) {
    ... on RegisterOffChainAssetSuccess {
      offChainAsset {
        assetId
        creator
        tokenId
        creatorCollectionId
        type
      }
    }
    ... on RegisterOffChainAssetFailure {
      errors {
        message
        extensions {
          code
        }
      }
    }
  }
}
{
  "input": {
    "creatorCollectionId": "20001",
    "creatorId": "eb117567-e455-4abd-b8e1-a7e451b96b23",
    "tokenId": "1"
  }
}

ยฉ 2023 -> โ™พ๏ธ