Tokens
如何將我的 NFT (ERC721) 代幣(在 ContractA 上鑄造)發送到另一個智能合約(ContractB),以便允許它轉移?
我嘗試將我的 NFT 代幣#300(在 ContractA 上鑄造的 ERC721 代幣)發送給另一個 ContractB,因此 ContractB 現在是此代幣#300 的所有者 - 現在允許 ContractB 將此 NFT 轉移給任何它想要的其他地址。
那可能嗎?我知道也存在approve() 方法,我應該在哪個方向進行研究以實現這一目標?
這是完全可能的。如果您是 NFT 所有者(ContractA 將返回您的呼叫地址
ownerOf
和您的 NFT id),您可以簡單地呼叫safeTransferFrom
(from
地址是您的)。如果您不是所有者,則需要先獲得所有者的批准才能轉讓 NFT。
或者,如果您只需要啟用 ContractB 來移動 NFT,您只需批准它,然後您就可以保存一筆交易(和 gas)。在這種情況下,NFT 將屬於您,但 ContractB 可以隨時將其發送給其他人。