ERC1155

ERC1155是一个优化的区块链通证标准,允许一个合约代表多种通证,减少 gas 费用并提供批量操作功能。它支持通过单个合约管理所有状态,包括余额查询和批量转移。ERC1155合约包含可选的元数据扩展,并且可以防止向非ERC1155Receiver合约转账。预置合约ERC1155PresetMinterPauser包含铸造、暂停和管理功能,适用于快速原型和生产环境。
摘要由CSDN通过智能技术生成

ERC1155

ERC1155是一个为了实现比以前标准更好的新通证标准。

多通证标准

ERC1155最独特的功能是它使用一个单独的智能合约一次性代表多种通证。这也就是它的balanceOf函数与ERC20及ERC777不同的原因。它有一个额外的id参数作为通证标识符以查询余额。

这点和ERC721相似,但是表中的id并没有余额的概念。ERC721的balanceOf函数关联到一个账户拥有多少不同的通证,而不是每个拥有多少个。另一方面,ERC1155账户每个通证id有非常清晰的余额。和不可替代的通证实现通过简单铸造它们中的一个。

这种方法对于有多种通证的项目会节省大量的gas费。比针对每种通证类型部署不同的合约更好。一个ERC1155通证合约可以包含所有系统状态,降低部署成本和复杂性。

批量操作

因为所有状态都存储在一个合约中,就可以非常高效地在一个操作中操作很多通证。标准提供了两个函数:balanceOfBatch 和 safeBatchTransferFrom,使得查询多个余额和转移多种通证变得简单和花费更少的gas费。

在标准中,也包含一些非必需的函数,比如_mintBatch。

构造一个ERC1155通证合约

// contracts/GameItems.sol

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值