我希望你们一切都好:)
我对Openzeppelin的_checkOnERC721Received智能契约的ERC721函数有一个疑问。
我不明白这部分:
try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, _data) returns (bytes4 retval) {
return retval == IERC721Receiver.onERC721Received.selector;在onERC721Received函数中必须实现什么?
谢谢你的帮助
保重
皮埃尔
发布于 2021-11-22 15:13:19
这是在https://eips.ethereum.org/EIPS/eip-721#specification中指定的
如果钱包/代理/拍卖应用程序要接受安全的传输,它必须实现钱包接口。
它可以简单地实现这个函数,而不做任何事情。签名是
function onERC721Received(address _operator, address _from, uint256 _tokenId, bytes _data) external returns(bytes4);这允许NFT令牌契约确保它发送到期望接收令牌的合同(即避免“卡住”令牌“)。
https://ethereum.stackexchange.com/questions/114058
复制相似问题