首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在构造函数中创建100+ ERC721 NFT

在构造函数中创建100+ ERC721 NFT
EN

Ethereum用户
提问于 2022-08-13 16:52:29
回答 1查看 308关注 0票数 1

我希望在我的智能合同的constructor中创建大约100个NFT(或更多的NFT)。

·在部署期间,我将一个由100个ETH地址组成的数组传递给constructor,然后该数组使用一个for循环来遍历该数组,在每次迭代时从array创建一个NFT到当前地址。(这是通过调用OpenZeppelin的_safeMint()合同中的标准ERC721函数来实现的--我正在为这个项目使用他们的契约和库。)

·我尝试在localhost上运行所有这些,到目前为止运行起来非常棒--接下来我肯定会在Ropsten和/或Goerli上测试它。当然,我们都知道,当涉及到在mainnet上部署时,事情会有很大的变化。

所以我想找出以下几点:

  1. 估计部署此合同的实际成本和在主网网上创建这100个NFT的最佳方法是什么?
  2. 在构造函数中创建100个NFT是可能的吗?或者这已经太多了吗?或者,反过来说,100很好,我可以把它推到300,甚至500?

顺便说一句,我们确实意识到这并不便宜,但是我们愿意承受这一打击,所以它实际上更多的是关于从技术上来说块大小的可能性--什么不是。

注意:我还计划在合同中增加一个独立的batchMint()函数,允许我们一次创建30个NFT,再次使用一个for循环来调用_safeMint() --这样我们就可以将它作为备份。

换句话说,如果我们需要总共保存300个NFT,但是构造器在部署时只能处理75个NFT,那么我们就可以手动调用batchMint()函数很多次,直到我们完成项目所需的所有NFT。

但是即使在这里,我们也需要弄清楚每次调用for函数时,在一个batchMint()循环中可以创建多少NFT的限制。

EN

回答 1

Ethereum用户

发布于 2022-08-13 17:04:22

成本是gas * gasPrice

您可以使用JavaScript虚拟机或在测试网上进行脱机测试,并且您的实验的gas消耗应该是一致的。

您支付的gasPrice是在部署合同时建立的。它会随着市场状况和你想要分配给交易的优先级而波动。它会影响部署的“成本”,当然,如果网络拥堵且成本太高,您可以延迟部署。https://www.ethgasstation.info/可以给你一个估计的想法。

区块gasLimit是一个硬上限的天然气量,您的交易可以燃烧。除此之外,它只会失败(不惜任何代价)。看一下这里,看看这个值是什么。它也会波动。

由于您认识到在构造函数之外需要一个bulkMint()函数,我将考虑完全依赖它来避免代码中的重复。

希望能帮上忙。

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

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

复制
相关文章

相似问题

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