ERC721与ERC1155的区别 (详细)
1.同质与非同质
ERC-721:仅限于非同质
ERC-1155:允许同质和非同质,允许像半同质代币这样的新概念币,例如,同质代币可以“转化”为非同质代币,反之亦然。
2.批量传输
ERC-721:只支持每次传输一个代币
ERC-1155:支持在单个交易中批量传输多个代币ID。
(由于每个以太坊交易大约要15-30秒的时间,因此ERC-721需要花很长时间来传输代币,而ERC-1155可以在一个区块中发送数百个不同的代币。
优化的ERC-1155顺利通过测试,每秒可传输150-200个代币!)
3.智能合约单一,不造成数据浪费
ERC-721:要求为每种新型代币部署一个新的智能合约(例如,创建一个CryptoKitties的合约,再另外创建一个CryptoCuties的合约等)
ERC-1155:一个智能合约可容纳无数类型的代币。
注:无法将ERC-1155锁定在不支持ERC-1155的合约中。
只能将代币发送给符合ERC-1155的合约!从而防止意外的代币丢失。如果收件人拒收ERC-1155代币,系统会立即恢复你的代币。
ERC-721试图实现ERC-1155的功能,但无疾而终,ERC-721的标准中包含了遗留的“不安全”函数。如果钱包转账不安全,你有可能永远丢失自己的代币。
4.发送代币触发智能合约
向智能合约发送ERC-1155代币可触发区块链上的一系列函数和事件。例如,交易所允许用户直接发送代币,自动瞬时地在链上交换其他代币。
由于这些代币严格遵循“onERC1155Received”规则,因此ERC-1155百分百可靠。
但无法用这种方法发送ERC-721代币,因为如果钱包不能安全发送代币到交易所,用户将遭受损失。
这意味着dapp无法依赖于ERC-721接收器正常工作。由于ERC-721不可靠,无法创建这些应用。
5.本地化
ERC-721:只支持一种语言
ERC-1155:支持将所有元数据(例如代币名称、说明、甚至代币图像)语言本地化,使所有代币都通用。
6.遗留元数据
ERC-721:保留了像“symbol”和“name”这样的遗留元数据,但这对于许多现代代币来说是不必要的。
ERC-1155:将所有元数据保存到web或IPFS上的URI(“统一资源标识符”的简称)中。
7.ID替换
ERC-721:由于只支持静态元数据,因此每个代币ID必须由智能合约存储和管理其元数据URI。
ERC-1155:合约可以指向无数的代币URI,无需在链上存储任何额外的数据。甚至可以用来指向一个web服务,该服务为数据库中的每个代币动态生成代币JSON。
8.丰富事件日志
ERC-721:可发出转移和批准事件。
ERC-1155:可发送铸币、销毁、传输、批准和更改元数据的标准事件。使生态系统受益,例如深度分析代币和代币浏览器。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2017-04-18 CentOS常用命令搜集
2017-04-18 CentOS7上安装FTP服务
2017-04-18 CentOS7上安装Nginx、PHP、MySQL