区块链-NFT 的实现原理 (2)

tokenId 和 tokenUrl 一对一关系,代表每份数据一个链上的唯一id,同时 tokenUrl 没要求是唯一,但在调用方,一般会把 tokenUrl 设置唯一,即使不唯一也没关系,冲突的时候,tokenId 越小的,其当初被设置的时间就越早;

NFT 持有者在将数据写入链上后,能够获取 NFT 的链上唯一 id,后续可以根据 id 进行系列的读写操作。

一般来说,我们常规的 NFT 有一个和数据建立关系的项就足够了,但并不局限于此,合约在实现了标准要求的接口后,完全可以自己添加自定义数据项及其读写函数。

第三步:展示与修改 展示 NFT 内容

所谓展示,就是对 NFT 的数据进行读取再展示。一般的流程如下:

根据当初设置 NFT 数据到链上时获得的 id 去智能合约读取信息;

将获得的信息通过某介质应用还原出原始的 NFT 数据。

比如将图片 NFT 展示出。(借助上面的 721 合约标准和 IPFS 结合为例)

假设调用合约存储数据时候得到的 tokenId 是 3,那么使用这个 tokenId 去调用合约的读数据方法;

执行完 1 步骤,可以得到 tokenUrl,即文件存储在 IPFS 中所得到的链接;

直接将 tokenUrl 链接在浏览器打开,看到图片。

修改 NFT 内容

修改是一项 NFT 智能合约的拓展功能,可有可无,具体是怎样的方式,完全看需求的实现。比如:

允许重置 tokenId 所对应的内容;

在 NFT 原数据中增加其他字段内容,再允许修改这些字段;

转让 NFT,可以把某 tokenId 对应的 NFT 信息转让给其他 owner,达到转让目的;

出售 NFT、拍卖 NFT 等操作....

所有权共识

目前 NFT,非同质化通证。本质是想借助区块链的属性来标示一种资产的所有权证明。

比如曾拍卖出6000多万美金的数字作品(图片)《Everydays: The First 5000 Days》,中标者能获得原图 和 该图的 NFT。这两样东西,一样是实质的作品,一样是它的所有权者的证明。

我们假设下,如果持有某作品的人,是一位匿名者A,过了多年后,该作品本身不小心被盗并被找回。那么如何证明 A 是真正的拥有者,此时 A 只需要展示他对该作品的 NFT 拥有权,就可以证明。

那么 NFT 是不是类似于我们现实中的证书?不全是,分两点:

NFT 和证书都能证明某资产的所有权;

对比的存储介质 与 永恒时效:

证书可能要找个保险柜保养放着,但它终究占据一方土地,仅受一方土地容纳的保险柜保证安全,在时过境迁的影响下,持续性存储下去的时间会较短;

NFT 存储在区块链上,受整个互联网的链节点所保护。它能够存活到整个链网络垮掉那天,对于节点数量众多的公链来说,这个概率几乎等同于互联网终结那天。

第三方平台

现在已经有很多的第三方的 NFT 制作与发布平台。比如 opensea、rarible 等,这些平台自己实现了 NFT 的智能合约 和 NFT 展示应用(介质应用---网站),方便大众 0 代码基础体会 NFT。但也有一些门槛,需要具备钱包和发交易的油费。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzwfys.html