NFT的“物理实体”

闪电HSL view 16 2022-5-5 10:09
share to
Scan QR code with WeChat

本文比较初级。

我和很多人聊NFT时,发现很难在最底层达成共识,大家都在聊NFT的应用层面,对其底层的实现大家都是模糊的,但我总感觉底层实现如果不理解的话,是会妨碍理解应用层的。所以才写本文。

NFT的标准ERC721

ERC721是一个智能合约标准,可以简单理解为这是一份模板化的合约代码,或者模板化的合同。

智能合约可以简单地理解为部署在以太坊网络上的程序,ERC721就是一套模板化的智能合约程序,开发者可以按这个模板定制一个合约部署在以太坊上。

合约模板和写文章的模板本质是一样的。就是类似于八股文一样,有完整的套路,你照着套路填好符合你自己的个性化资料就可以产生一篇文章。

ERC721这种合约模板定义好了一些标准“方法”(就是程序里的函数)和“事件”(可以简单理解为)

方法就是函数,也可以称之为接口。这些方法就是让用户和其他程序可以和这个NFT项目进行交互的方法。

ERC721标准里第一个方法balanceOf(),就可以查询某个地址持有该NFT的数量。

事件可以简单理解为以太坊的日志模板。当有人调用了这个合约的某个方法,得按日志模板往以太坊上存一些历史记录,方便别人查看。

比如ERC721标准里的第一个事件event Transfer,就是用户转具体某个NFT后,就得在以太坊上按这个模板留下日志记录。

NFT的“物理实体”

问题:什么样的合约符合ERC721标准?

答案:在ETH上部署了一个合约,只要这个合约包括了ERC721标准里的所有“方法”和“事件”,就是符合ERC721标准。

方法可以超出标准之外,比如也可以提供黑名单。

按照ERC721标准生成的代币就是NFT,但反过来却不成立,因为还有其他NFT标准,甚至还有没有总结成标准的NFT。

生成NFT的过程

NFT代币是怎么来的?

第一步是有一个项目方(简单的就可以是一个开发者)按照ERC721等标准开发一套智能合约,并部署到以太坊上。

这个合约代码会详细定义NFT的具体实现,比如要定义这套NFT的总量是多少,每一个NFT的编号,每一个NFT对应的图片存在哪个URL地址什么的。

第二步用户就可以调用该合约进行铸造NFT,这就是熟悉的mint过程。

一般开发者会设计好调用合约的界面,以方便用户铸造NFT,虽然对“科学家”来说,他们只要有项目开源好的NFT代码,他们可以自己调用。

mint的过程一般会有一个初始价格,即用户要付一定的ETH才允许参与铸造这套NFT,这就是NFT的初次发行。

铸造好具体的NFT后,就在用户的钱包里可以看到了。用户就可以挂到opensea上去卖了。

这里的非同质化的意思就是,这套NFT中的每一个具体的NFT都是各不相同的。

NFT项目和具体的ERC721-NFT代币

这两个概念老容易搞混。这是一个集合,和集合中的元素的关系。

NFT项目是一些具体NFT代币的集合。这里的代币不是说NFT项目发行的ERC20代币,而是用户mint出来的ERC721代币。

一个NFT项目会发行一套NFT,比如猴子BAYC是一个NFT项目,它发行了1万具体的NFT代币,每一个具体的猴子NFT代币在物理实体上映射成了一张图片。

btcfans公众号

Scan QR code with WeChat

Link
Disclaimer:

Previous: 回顾性分析:第 1 层链旋转理论 Next: 熊市诞生于牛市积累压力的释放,牛市诞生于业务执行方法的创新

Related