Erc-721

ERC721 - 如何一次創建多個 ERC721 代幣

  • September 1, 2019

是否可以一次創建多個 ERC721 代幣?我看到了這個連結。 ERC721 - 在一個函式呼叫中創建 1000 個令牌 但我不明白。請幫我。

是的,您可以一次創建多個 ERC721 代幣,但是,您可以通過單個函式呼叫創建的代幣數量取決於您交易的 gas 成本。如果您的交易成本超過 gas 限制,即大約 8000000,那麼您的功能將不會成功。

是的,您可以使用複製合約 ERC-1167。這是我以前寫過的一個簡單範例:

function mint(uint256 _numberOfToken) public onlyOwner returns(address[] memory) {
 require(_numberOfToken < 30);
 address[] memory output = new address[](_numberOfToken);
 for(int i = 0; i < _numberOfToken; i++) {
   returnAddress[i] = createClone(YOUR_CORE_ERC721_ADDRESS_HERE);
 }
 emit createNewToken(returnAddress)
 return returnAddress;
}

createClone 函式取自ERC1167 實現

所以在一般的想法中,首先你部署你的主 ERC721 並部署另一個從你的主 ERC721 創建複製的合約。當您想創建許多新的 ERC721 時,您只需呼叫該合約並獲取返回值。

順便說一句,我將 30 設置為 maxium 的原因是因為這個函式會消耗大量的 gas,如果像使用者一樣嘗試呼叫 100,那麼程式碼將會中斷,所以我只想呼叫 maxium 時只有 30 個令牌。

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