有人知道如何创建一个安全的游戏中NFT薄荷吗?我认为,如果我们允许用户创建一个NFT (这是游戏的理念--从不同的部分组装一个NFT ),它将是脆弱的,因为您可以将自己的图像URL插入到函数中。我认为一个薄荷函数只能通过与require(somePartsAmount)的游戏合同来使用,它会是安全吗?就像这样:
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;
}如何与预售薄荷糖在一起,因为我们不能在这里检查零件,而由所有者创建太昂贵了?
发布于 2022-01-06 20:12:02
通常,您不希望让用户有机会将自定义令牌URI设置为nft。因此,我建议将所有URI都放在另一个函数中。要想拥有1000个最小的随机nfts,首先需要1000个令牌URI才能将信息附加到这些nfts上,然后必须使用默认的getTokenURI函数,该函数返回在创建智能契约时指定的基本令牌URI,并将nft id添加到它的末尾。
https://stackoverflow.com/questions/70612616
复制相似问题