Voice-NFT-roadmap-part2-header

Publishing Voice transaction records to the EOS mainnet

Behind the scenes Technology

We are pleased to announce completion of the first step on our blockchain roadmap that will bring a view of transactions occurring on the Voice NFT blockchain to the EOS mainnet.

Voice uses an EOSIO blockchain that remains private while our platform is in beta. This approach enables us to focus on delivering a robust, accessible user experience with capabilities not found on other platforms. However, in the short term, it comes at the cost of complete transparency.  

To provide some visibility to Voice blockchain transactions, we are publishing a ledger of Voice NFT transactions from our blockchain to the EOS mainnet.

Two types of transactions are published starting today. Each time an NFT is created on the Voice blockchain, a create transaction record is published to the EOS mainnet. Each time an NFT is burned (deleted) on the Voice blockchain, a burn transaction record is published. These transaction records can be monitored on the EOS mainnet using any EOSIO block explorer. Voice’s account on the EOS mainnet that publishes the records is voicehqmnlog.

A sample of the content in a create transaction record is shown below. This data is taken from the idata (immutable data) portion of Voice’s Simple Assets Plus NFT specification, and include:

  • idata indicates the part of the NFT that the published data comes from is immutable
  • name is the title of the NFT given by the creator 
  • content describes characteristics of the media of the NFT. 
  • hash is a unique value created from the content itself; size is the actual size of the media in bytes
  • owner is the Voice blockchain ID of the current owner
  • assetid is the value of the NFT’s ID on the Voice blockchain
  • creators is a list of all creators of the NFT. For each creator, there will be a status value and an account value.The account value is the blockchain ID of the creator. The status value distinguishes between the primary creator, i.e., the one who published the NFT on voice and any co-creators. 

{

  “idata”: {

    “name”: “459BC93621A1AB47D31E5DAB3B6DA29397B9BE0C822C5BF8CACCB55F8F87E40D”,

    “content”: [

      {

        “hash”: “E7D823CB59D12DEDAA7001EC1A50FE26F95785AE1FE1F3E4E04F6799914FFEAD”,

        “size”: “1171123”

      }

    ]

  },

  “owner”: “52hp4la24pmp”,

  “assetid”: “8FD468A55B010C8476E31E905E9EF1C16BFC8975033FA2EECCBE6A5696FB956F”,

  “creators”: [

    {

      “status”: 1,

      “account”: “52hp4la24pmp”

    }

  ]

}

Some of the values in the transaction log (name, hash, and assetid) are obscured using a hashing algorithm. For example, the name of the NFT in the example above is “Old Tunnel” but it is displayed in the transaction log using its hashed form. Hashing these values enables NFT creators options for when and to whom NFT properties are revealed. If hashing was not done, values (such as gift or reward NFTs) would always be visible immediately in the transaction log.

Our strategy for publishing transactions is incremental. We are beginning with create and burn transactions. Over time we will add more transactions until we deploy a direct block explorer.

As we continue to build, we will keep our community updated with major milestones.