Solidity

如何在 ERC1155 中表示多個相同類型的 NFT?

  • November 10, 2021

讓我們以 cryptokitties 為例,如果我要在 ERC721 中創建類似的東西,我將創建一個名為 cryptokitties 的智能合約和一個鑄幣函式,該函式會在每次鑄幣時增加代幣 ID。我如何在 ERC1155 中做到這一點?

我只知道為了表示一個 nft,你傳遞 1 的值,這意味著它是一個 nft,如果你傳遞的值大於 1,這意味著它是可替代的,我不知道要創建多少個加密貓,因此我不能通過mint 函式的任何值。

你可以做的是有一個跟踪 NFT 所屬的映射,如下所示:

mapping(uint256=> string) public nftsCollections;
//whenever you mint an nft require the admin to pass the collection name and  //add it to this collection
nftsCollections[id]=collectionName;

每隻加密貓都是自己的 nft。你不應該在 ERC1155 中這樣做。每次創建 cryptokittie 時,您都會鑄造一個新的 nft 令牌,您不會添加到已經存在的令牌中。如果您使用 ERC1155,您可以啟用擁有多個 nft 實例的選項,這否定了它的全部目的。

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