首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将现有的ERC721迁移到ERC1155?

如何将现有的ERC721迁移到ERC1155?
EN

Ethereum用户
提问于 2021-02-25 02:45:06
回答 1查看 1.4K关注 0票数 0

我有现有的ERC721智能合同。有没有办法从我现有的ERC721迁移到ERC1155?还是必须单独创建ERC1152并将ERC1152令牌分配给新帐户用户并删除现有的ERc721令牌?我之所以想这样做,是因为我需要一批操作来节省煤气费。例如,我有几个ERC721令牌,#1,#2,#3,#4,#5,我希望它发送帐户#user2 1,#user2 2,如下所示,

对于#user1 1,令牌#1,#2,#3

对于#user2 2,令牌#4,#5

现有的ERC721功能只允许我单独发送5次,这要花费大量的汽油。有什么好主意吗?

EN

回答 1

Ethereum用户

发布于 2021-02-26 09:36:16

只是一些随机的想法以防有帮助。

我不确定您能否将令牌从ERC712合同转移到ERC1155合同。如果可能的话,也许有更好的办法,但我认为情况并非如此。

因此,我们的目标是找到最便宜的方法来创建ERC1155令牌并烧掉ERC721令牌。幸运的是,您可以选择在批处理模式下创建ERC1155令牌(参见OpenZeppelin实现):

代码语言:javascript
复制
function _mintBatch(address to, uint256[] memory ids, uint256[] memory amounts, bytes memory data) internal virtual {}

在这种情况下,您应该传递一个数组,其中包含已经从ERC721创建的所有令牌In,以及每个令牌in所考虑的金额,所有这些都在一个事务中完成。您甚至可以重写这个函数来为to地址创建一个数组,并相应地更改函数代码。

至于ERC721,问题是契约已经部署,您可能无法触摸它,因此您可能不得不单独刻录令牌。否则,您可能有一个函数通过令牌in数组刻录令牌,其方式类似于mintBatch函数在ERC1155中。

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/93907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档