ethereum - 为什么以及何时调用 setApprovalForAll?
问题描述
我很难理解为什么以及何时在 NFT 生成合同上调用 SetApprovalForAll。
以酷猫为例。为方便起见,下面是相关交易的屏幕截图。
我注意到对于这个合同和其他合同,Set Approval For All 被反复调用。在我自己对允许铸币的合同的有限经验中_safeMint
,我在日志中也看到了 SetApprovalForAll 交易。我的代码中没有直接调用它。
为什么叫它?钱包是否将其作为铸造过程的一部分?
解决方案
当您在 Marketplace 上出售 NFT 时,您需要授权该 Marketplace 将已售商品从您的地址转移到买家的地址。
这就是 SetApprovalForAll 的用途:因为你信任市场,所以你“批准”它出售你的 NFT(不是你所有的 NFT,而是你在本合同上下文中拥有的 NFT)。
在这个 API 的上下文中,市场就是所谓的“运营商”。
推荐阅读
- javascript - ReactJS 使用内容脚本而不弹出(Chrome 扩展)
- android - Firebase setPersistence (true) 逻辑错误
- django - 如何在 drf 中序列化 Hstore 字段
- codeigniter - CodeIgniter 4 动态路由
- django - 根据某个 group_name 过滤 ForeignKey(user) 模型
- hadoop - 使用 hive 中的 rank/dense_rank 查找每个部门的第二高薪水
- python - 使用 Docker SDK for python 时如何将 docker 容器输出流式传输到终端
- css - Reactjs,语义 ui 反应,菜单>项目问题
- python - 在 Django 中将模块的登录视图与我自己的登录视图集成
- sql - SQL 将存储为键值对的 SCD 转换为具有历史记录的列