Contract-Development

在合約中收到 ERC-721 代幣時如何獲取合約地址?

  • January 21, 2022

我正在編寫 NFT 質押合約,我希望我的合約接受來自 3 個特定合約的 NFT。我已經實現IERC721Receiver並且該onERC721Received功能成功觸發。獲取收到的代幣的合約地址的最佳方法是什麼?

正在傳輸的令牌將呼叫這些IERC721Receiver方法。因此,您可以使用msg.sender來檢測正在傳輸的令牌的地址。

ERC721 智能合約在transfer. 此函式可能會拋出以恢復和拒絕傳輸。魔術值以外的返回必須導致交易被恢復。

取自https://eips.ethereum.org/EIPS/eip-721

請注意,對於 ERC-721 令牌,這僅適用於safeTransferFrom方法。仍然可以使用該transferFrom方法將代幣轉移到您的合約中。

引用自:https://ethereum.stackexchange.com/questions/119601