Solidity

在單筆交易中鑄造多個 NFT (ERC-721,1155 & 20)

  • February 2, 2022

我正在使用 Moralis 伺服器開發 NFT 市場。我想知道有沒有辦法在一個事務中上傳多個具有不同元數據的 nft?你能分享一下智能合約嗎?

這是我可以推薦的,但這是使用煉金術的實現。

https://docs.alchemy.com/alchemy/tutorials/how-to-create-an-nft/how-to-mint-a-nft

只需在您的鑄幣功能上使用循環。例如,如果有 3 個 NFT,則依次循環 3 次,這意味著呼叫您的鑄幣函式 3 次。

來自煉金術文件:-To mint x number of NFTs in a single command, we can use a simple for loop running from 0 to x-1 within a function wrapping the minting process. This would allow us to effectively mint x NFTs every time the wrapper mint function is called.

在契約方面,您只需執行一個簡單的循環。

for (uint i = 0; i < _amount; i++) {
       uint mintIndex = totalSupply();
       _safeMint(msg.sender, mintIndex);
}

對於元數據,您需要在 Moralis 伺服器上執行雲功能,將新元數據發佈到您託管伺服器的任何位置。

引用自:https://ethereum.stackexchange.com/questions/120545