Erc-721

智能合約所有者選擇拒絕或接受交易?

  • March 15, 2022

如何保持使用者發送的交易和所有者接受交易?

NFT 將在遊戲中鑄造 (ERC 721)。而且我必須給使用者鑄幣的權限,但是因為每個人都可以在遊戲之外鑄幣,所以所有者需要在鑄幣前檢查 URI 和值。

如果鑄幣廠出現問題,所有者可以取消交易。

您可以添加一個鑄幣請求函式來儲存鑄幣請求和一個僅用於合約所有者的批准鑄幣,這樣所有者可以批准或拒絕鑄幣。

看起來像這樣:

function requestMint(/*params to take into consideration*/) external {
  mintRequests.push(/*this request param*/);
} 

//The owner will use this to see the mint request pile so far
function checkMintRequest() view onlyOwner returns(/*How you decided to store it*/){
   return mintRequests;
}

function requestMint(uint id) external onlyOwner{
   MintRequest accepted = mintRequests[id];//Im thinking this could be a struct
   mint(accepted.account, accepted.tokenId);
}

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