6

我很难理解为什么以及何时在 NFT 生成合同上调用 SetApprovalForAll。

酷猫为例。为方便起见,下面是相关交易的屏幕截图。

我注意到对于这个合同和其他合同,Set Approval For All 被反复调用。在我自己对允许铸币的合同的有限经验中_safeMint,我在日志中也看到了 SetApprovalForAll 交易。我的代码中没有直接调用它。

为什么叫它?钱包是否将其作为铸造过程的一部分?

在此处输入图像描述

4

1 回答 1

1

当您在 Marketplace 上出售 NFT 时,您需要授权该 Marketplace 将已售商品从您的地址转移到买家的地址。

这就是 SetApprovalForAll 的用途:因为你信任市场,所以你“批准”它出售你的 NFT(不是你所有的 NFT,而是你在本合同上下文中拥有的 NFT)。

在这个 API 的上下文中,市场就是所谓的“运营商”。

于 2022-01-11T10:20:12.330 回答