为区块链游戏而生,ERC-1155成为以太坊正式代币标准

早在一年前,Enjin首席技术官Witek Radomski将ERC-1155多代币标准的第一个版本推送到了以太坊的Github存储库。

从那以后,这个代币标准经历了50多次修订,其还收到了来自社区的400条评论,这些评论提供了宝贵的意见,并帮助ERC-1155完善至最终版本。

到如今,ERC-1155已成为了一个正式的以太坊代币标准。

既然以太坊社区已将其封为“final”状态,这就意味着,ERC-1155不会有更多的改动了。

那问题来了,这个代币标准是干啥的,为什么要耗费这么多的精力去做这件事?

官方的总结说法是:

“用于管理多代币类型合约的标准接口。单一部署的合约可包括可替换代币、不可替换代币或其它配置(例如半可替换代币)的任何组合。”

难以理解,对不对?不急,我们先来了解一下这个代币标准的制定动机:

像ERC-20和ERC-721这样的以太坊代币标准,要求为每个代币类型或collection部署一个单独的合约,这在以太坊区块链上造成了大量冗余的字节码(简单说就是浪费),并通过将每个代币合约分离为其自己的许可地址的性质限制了某些功能。而随着区块链游戏平台的兴起,游戏开发者可能会创建数千种代币类型,这需要一种新型的代币标准来支持它们。

简而言之就是,为了让开发者一键创建和管理成千上万种游戏token,ERC-1155应运而生了。

然而,ERC-1155并不特定于游戏哦,很多其他应用也可以从这种灵活性代币标准中获益。

这种设计可以实现新的功能,例如一次传输多个代币类型,从而节省交易成本。多个代币的交易(托管/原子交换)可以建立在这个标准之上,它消除了单独“批准”单个代币合约的需要。

总的来说,这一代币标准目前可见最大的受益方,就是区块链游戏开发商啦。

一个智能合约,多个token

像ERC-20和ERC-721代币标准,需要为每种新“类别”的代币部署新的智能合约,而ERC-1155背后的核心概念,就是单个智能合约可管理无限数量的代币。

你可以把它想象成一台自动售货机,里面有各种各样的苏打水、果汁甚至零食。客户使用单一的安全界面(插入硬币,按下按钮)与机器进行交互,机器分配他们选择的商品。同样,为一个游戏而签订的ERC-1155合约,可以包含各种各样的物品,从武器和盔甲到健康药剂、魔法卷轴等等。

这些项目中的每一个都可以是“可替换的”,有多个副本可用。可替换的代币用于可分割的货币(大多数ERC-20代币),而且它们对于不需要区分的可堆叠项目也非常有用,比如一束弓箭。

One-of-a-kind代币又称不可替代代币(NFT),这种结构允许每个代币都有自己独特的参数、历史记录和真实世界的镜像。电子游戏中的宠物龙可能是一个NFT,它有自己的独特名称,一个权力级别,以及丰富的游戏历史。

支持批量交易

有了ERC-1155,你就可以在一次交易中发送多个token,大大节省了gas成本!此外还可以防止在单笔转账中等待每个区块的需要。

例如,下面这个例子,测试者Phillippe通过ERC-1155代币实现了每秒155种资产的传输。

使用ERC-1155的项目,也可以使用相同的基本设计构建原子交换,允许用户以绝对安全性交换一种代币,它不涉及中间方,因而避免了欺诈。

严格的规则使token可靠

ERC-1155代币标准还有一个非常好的特性,它是通过代币必须遵循的严格规则集来实现的。

ERC-1155代币,只需将代币发送到地址,即可执行确定性智能合约函数。

这是非常有意义的。

例如,只要将代币发送到一个DEX交易所地址,这个交易所就可立即将另一个代币返回到发送者的地址。同样,区块链游戏可以在收到用户的ERC-1155代币后,立即执行游戏功能。代币可以打包、转换、制作或托管,不需要访问ABI或直接与与智能合约交互。

这种类型的功能最初是在ERC-223中提出的,但该标准未能跟上。ERC-721也实施了“safeTransferFrom”,但它存在一个很大的问题,即其并不对所有传输严格要求这一规则,这意味着用户可能会永久丢失其代币。

保证日志跟踪

随着以太坊生态系统的不断发展,很多dApp依赖于传统的数据库和浏览器API服务来检索和分类数据。ERC-1155标准保证智能合约发出的事件日志将提供足够的数据,以创建所有当前代币余额的准确记录。数据库或资源管理器可以监听事件,并能够提供合约中每个ERC-1155代币的索引和分类搜索。

智能合约不再需要维护每个代币ID的索引,而且ID也不需要以任何方式相继。

想象一下,无论分析哪个智能合约,都能够通过时间倒带和快进,分析完全不同的ERC-1155代币的使用模式和生命周期。

发表评论

相关文章