0

为 ERC721 NFT 的 privateSale 创建一个合约,首先我为实现 onErc721Received(...) 的 privateSale 合约地址创建一些库存我要保证的是这个 privateSaleContract 只接收来自一个给定 NFT 类型的 ERC721 代币(通过其合约地址)

我怎么能保证呢?

4

1 回答 1

1

ERC721 标准定义了两种类型的传递函数:

  • safeTransferFrom()检查接收者是否是合约 - 如果是,则尝试onERC721Received()在接收者上执行该功能。
  • 但也是一个transferFrom()不应该调用onERC721Received().

因此,任何人都可以使用非安全传输功能向您发送 NFT,而无需在您的合约上调用任何功能。这使得这些转移无法阻止。

于 2022-01-19T18:49:07.310 回答