一、NFT是什么 NFT是Non-Fungible Token的简称,其有两个关键词Fungible和Token。 Fungible的意思是同质化。要理解这一词的含义,我们身边的现实世界就有案例。现实世界中的商品可以分为同质化商品和非同质化商品。 同质化商品的例子最著名的就是货币,金属货币时代,每一克黄金都是完全一样的。纸币时代,虽然纸钞上有冠字码,但因为它是一般等价物同样面额纸币购买力完全相同,人们没有区别的必要。其他的例子还包括那些大宗商品(同品质的石油、煤炭、粮食等)。非同质化商品身边也有很多,比如房地产市场、艺术品市场,没有一个房子或者艺术品是完全一样的,难以标准化,因此每一栋房子/艺术品都是独一无二的。 Token的意思是通证或者代币。在区块链初始阶段,区块链上的Token主要是原生加密代币,这些代币是同质化的。随着链上数字资产的丰富,尤其是游戏资产比如加密猫,产生了非同质化代币的需求。另一方面,因为区块链是信任的机器,随着区块链的发展,现实世界资产上链越来越多,更加需要非同质化代币。 Token的范畴扩大,不仅可以是加密货币代币、原生数字资产(虚拟宠物),还可以用来标示股份,现实世界商品(房产、艺术品)、数字艺术等。通过将某物表示为Token,可以通过智能合约来创建、交易、交互、甚至销毁它们,在链上可以极大地降低交易成本。在这方面,区块链2.0以太坊带来的智能合约概念居功至伟。 目前以太坊上的NFT主要有两个标准来定义:ERC721和ERC1155。 ERC721 William Entriken,Dieter Shirley,Jacob Evans,Nastassia Sachs四位开发者于2018年1月提出以太坊改进提案EIP721,定义了ERC721标准。 EIP721里是这么定义ERC721的,ERC721标准在智能合约中为NFT实现了标准API,API定义了一系列方法(method)和事件(event),ERC721方法和事件见这里。ERC721提供了跟踪和转移NFT的基本功能,包括将代币从一个帐户转移到另一个帐户,获取帐户的当前代币余额,获取特定代币的所有者以及网络上可用代币的总供应量。还有一些其他功能,例如批准第三方帐户可以转移帐户中的代币数量。 比如,转移代币实际上的意思是调用某个开发者部署的智能合约的transfer事件,ownerOf(uint256 _tokenId)方法定义编号为tokenIdNFT的所有者。 每一个NFT代币在ERC721合约内被唯一的tokenId标示,而且在整个合约生命周期内不可改变。通过合约地址和tokenId,可以确保每一个NFT在整个以太坊区块链上唯一被标示。 ERC1155 另一个被广泛使用的NFT标准为ERC1155. (责任编辑:admin) |