Solidity
在單筆交易中鑄造多個 NFT (ERC-721,1155 & 20)
我正在使用 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 伺服器上執行雲功能,將新元數據發佈到您託管伺服器的任何位置。