我正在编写一个solidity智能合约,并试图决定哪个
- 更具性能
- 节省汽油费
这是基于NFT市场
选项1:Mint 10,000 NFTs to my wallet, and then transfer each NFT to a buyers wallet on purchase
选项2:Mint directly to the buyers wallet on purchase
假设:
- 现在让我们假设tokenURI是恒定的,我们不需要在选项2中每次都重建它,因为上传到IPFS的时间可能很长
问题:
- 铸造的成本是比转移高,还是相同
- 是否存在";数量;批量铸造在哪里更有效
- 有没有什么情况下批量铸造会更好
- 如果我们忽略这个假设,上传到IPFS的时间是一个额外的变量,那么批量铸造会更可取吗
让我回答所有问题,
- 铸造的成本是比转移高,还是相同
答案:开采成本将高于转让成本。因为在minting函数中,您将向存储中推送一个新值。映射(uint256=>address(,您将地址从零更新为非零,因此它的成本远高于非零到非零。
- 是否存在";数量;批量铸造在哪里更有效
答:批量铸造可能很有效,因为一些检查(价值、金额等(在交易开始时只进行一次。
- 有没有什么情况下批量铸造会更好
答案:您可以为初始所有者使用merkle证明。但这种方法通常用于白名单,但我认为它也适用于这种情况。还有一些其他的标准,如ERC721-A,它在批量交易中更具气体效率,ERC1155,它在气体效率方面更高。也许还有新的表演艺术。。。
- 如果我们忽略上传到IPFS的时间是一个增加的变量的假设,批量铸造会更可取吗
答案:我不认为ipfs-base-uri和批处理之间有联系。你唯一需要关心的是,在铸造之前不要让用户看到收藏图片的顺序。要隐藏这一点,请使用隐藏的NFT,并将该uri分配给所有NFT,直到所有NFT都被铸造并显示出来。