Loom开发者教程:理解ERC721x代币标准

Loom Network Chinese
Loom Network Chinese
4 min readDec 3, 2018

本文是对Understanding ERC721x Token Standard的翻译,原作者 Dev Bharel。如有误译等,请用私信方式通知我们。

更新:

非同质化代币(简称NFT)真正的起飞,是加密猫在基于区块链的游戏里率先使用它们之后。它们提供了一种将数据附加到加密代币的方法,而不仅仅像ERC20代币那样只有值。

这个新的代币标准被称为ERC721,它允许在以太坊区块链上发行和交易独一无二的收藏品。与必须由人类验证真实性的物理收藏品不同,这些数字资产可证明是真实的。与“同质化”的ERC20代币不同 —— 即因为所有的代币都是相同的,所以可同等互换 —— ERC721代币是独一无二的,不能互相替代。

由于Loom的Basechain是针对游戏优化的区块链,因此其中一个受欢迎的讨论是ERC721代币标准。

ERC721定义了一个物品的,每个代币具有不同的属性。例如,加密猫(参考此处代码)有一个Kitty类(第241行),它定义了Kitty的基本格式,包括genes(基因)、birthtime(出生时间)、matronid(母id)和sireid(繁殖id)等。当一个新的Kitty被铸造时,这些变量是自定义的,因此所有Kitty在它们具有的变量方面具有相同的结构,但每个变量具有不同的值。

这对于像加密猫这样,只有一种类型的收藏品(即Kitty)的收藏品游戏非常有用,但是它却无法满足你想拥有多种类型的收藏品的需求。如果你想将Kitty Toys添加为收藏品,则必须创建新的ERC721合约。 为每种类型的收藏品创建单独的合约很快就会变得不可扩展。

为了解决这个问题,ERC721标准有一个扩展:ERC1178。 ERC1178允许在同一ERC1178合约中定义多种类型的收藏品。这意味着它允许同时转移任何数量 的特定类型的收藏品,这在谈论可能没有单独价值,但是数量大时有价值的收藏品很有用。

乍一看,ERC1178似乎是问题的完美解决方案,但这里有一个问题。 它打破了与现有钱包和交易所的兼容性。 为了实现ERC1178,你不仅需要在应用程序中实现它,而且还必须期待着你的玩家使用的钱包也支持该规范。

ERC721x来了

ERC721x是Loom对ERC721的扩展。 它是一个兼容ERC721的代币,支持多个同质化类。

ERC721x是一个兼容ERC721的代币,支持者多种同质化类。

使用ERC1178作为基础,ERC721x具有非常薄的可选功能层来支持加密收藏品,并且所有内容都包含在ERC721兼容层中,因此它受当前钱包和交易所基础设施的支持。 兼容层保留了铸币功能,允许根据需要铸造单个ERC721代币。

你可以在此处查看GitHub上ERC721x代币的完整代码

具体来说,ERC721x兼容性以mint()函数的形式出现,我们可以看到它的实际应用。

此函数的抬头与常规ERC721合约中的函数相同,但内部逻辑会检查是否存在该类型的代币,如果存在,则打印另一个副本。 它允许多种不同类型的资产副本的存在。 不是10个Fire Minion卡牌有10个不同的tokenID,而是它们都具有相同的 ID和一个在你库存中的可调数量。

这意味着你可以在以太坊上获取ERC721资产并交易数百份特定资产,仅需一次ERC721转移! 对于开发者来说,你可以在同一个ERC721合约中包含多种类型的资产,从而有助于创建更具紧凑的用户体验。

此处阅读更多关于ERC721x的信息。

要为自己的代币合约部署ERC721x,可以克隆此代码仓库。 在那里,你将找到接口和接收器的代码,以及帮助你入门的参考实现。

Loom Network 是扩展功能性 dapp 的多链互操作平台 — — 已正式投产、完成审计并全面测试。

你的 dapp 只需部署到 Loom 的 Basechain,便可触及所有主要区块链的最大用户群。

想了解更多信息? 请从这里开始

想锁定你的 LOOM 代币并帮助维护 Basechain 的安全?看看这里

想保持关注?请注册我们的邮件列表

--

--

Loom Network Chinese
Loom Network Chinese

中文社区 @ Loom Network — — 面向医疗服务提供者的分布式企业平台 https://loomx.io