我需要在 ERC721 中使用 approve 方法吗?

Do I need to use approve method in ERC721?

我正在练习智能合约,我对 NFT 很感兴趣。
ERC721 written in Vyper

里面的approve机制是什么?
isApprovedForAll 是做什么的?

海事组织。我不需要使用批准方法。我只用transferFrom()就够了。
如果我错了请纠正我

批准机制在 ERC-721 标准中有更深入的描述。

What is the mechanic of approve in it?

代币所有者可以使用 approve() 功能批准另一个地址(运营商)使用特定代币,以及使用 setApprovalForAll().

的所有者的所有代币。

What is isApprovedForAll does?

这是一个 getter 函数返回 bool 值的操作员地址是否可以花费所有所有者令牌(即他们已使用 setApprovalForAll() 函数获得批准)- 或不。

I don't need to use approve method. I just use transferFrom() is enough.

如果您只花费自己的代币,则更正。

如果您想要另一个地址来使用您的代币,或者如果您想要使用属于另一个所有者(可能是您的其他地址之一)的代币,您将需要使用批准机制。

请记住,***approve()*** 转移分两步进行:

你,所有者,调用 approve 并给它新所有者的 _approved 地址,以及你希望他们接受的 _tokenId

新主人用 _tokenId 呼叫 transferFrom。接下来,合约检查以确保新所有者已经获得批准,然后将令牌转移给他们。