为什么会有ERC-1155
Witek Radomski在具体设计coin的过程中发现,现有的代币标准,根本不能满足现代主流游戏的需要嘛。
为啥?
因为根据现在的机制,每个token都需要一个独立的合约来定义。
那意味着什么?
如果有一个大型的区块链游戏好像runescape或者world of warcraft这种,每个里面都有至少几万种完全不同的物品。如果用现行的token机制来定义,就要每个游戏都要设立几万个合约来定义这些物品。
这种情况就好比你要为你的每个app都买一台全新的电脑来装载。
很显然,这完全没有必要,是极大的浪费。
而其实定义这些代币的合约,本身代码大部分都是重复的,只是在一些微小参数上进行了调整。但即便是这样,对于记账的节点来讲,他们也需要兢兢业业一丝不苟的把这些大部分重合的合约都一一记录在案,并为每一个代币合约永远保留它的代码和接口。
为了解决这一问题,ERC-1155出现了。
它的基本原理
ERC-1155是一种定义token的新标准,1155是这种方法的编号。
1155标准定义了一种解决上述问题的新方法。
现在“物品”(可能包含ERC20的token或ERC721的token或两者都有)可以被单一的一个合约(打包处理)来定义了。
合约里包含区别token们所需的最小量的数据。
好比,后来出现的视频压缩技术,后一帧只记录了与前一帧的不同之处,所以极大的压缩了整个视频的体积。
合约的状态包含了每个token ID的配置信息和管理收集的所有行为。
ERC-1155的灵活性更强,它使得开发者可以自行选择是批量生成某一种特定的token,还是构建不可被复制的惟一原数据。
优势
ERC-1155协议的优势在于支持多币打包,降低交易成本,并且很好地支持原子交换,这些都是一些技术方面的信息。
可以在ERC-1155协议的基础上做进一步升级,比如说优化交易模式,提高Token属性。这样一来,就能做出一个更适合开发者开发的非同质化协议。
举例
定义一种宝剑道具只有1000把。
这个时候,你就可以在同一条链上既定义1000把宝剑道具,又定义1000把长枪,它们两个是完全不同的东西,无法融合在一起,也无法被分割,永远都只有1000把。
这种情况可以称之为非同质化协议。