游戏内NFT铸币厂的安全性



有人知道如何创建安全的游戏内NFT薄荷吗?我认为,如果我们允许用户创建NFT(这就是游戏的理念——从不同的部分组装NFT(,它将很容易受到攻击,因为你可以将自己的图像URL插入到该功能中。我想一个只有和require(somePartsAmount)签订游戏合同才能使用的mint函数,它会是安全的吗?类似这样的东西:

function awardItem(address player, string memory tokenURI)
public 
onlyGame
returns (uint256)
{
require(somePartsAmount);
_tokenIds.increment();
uint256 newItemId = _tokenIds.current();
_mint(player, newItemId);
_setTokenURI(newItemId, tokenURI);
return newItemId;
}

如何使用预售铸币厂,因为我们不能在这里检查零件,而且由所有者创建太贵了

通常,您不想让用户有机会为nft设置自定义令牌URI。因此,我建议在另一个函数中创建所有URI。比方说,要想拥有1000个可铸造的随机nft,首先需要1000个标记URI才能为这些nft附加信息,然后必须使用默认的getTokenURI函数,该函数返回创建智能合约时指定的基本标记URI,并将nft id添加到其末尾。

相关内容

  • 没有找到相关文章

最新更新