ERC-165 Standard Interface Detection ,即检测合约是否实现接囗规范,使用函数标识(.selecor)进行检测。
可参考:ERC-165: Standard Interface Detection
接口实现:
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.7;
interface IERC165 {
/// @notice Query if a contract implements an interface
/// @param interfaceID The interface identifier, as specified in ERC-165
/// @dev Interface identification is specified in ERC-165. This function
/// uses less than 30,000 gas.
/// @return `true` if the contract implements `interfaceID` and
/// `interfaceID` is not 0xffffffff, `false` otherwise
function supportsInterface(bytes4 interfaceID) external view returns (bool);
}
合约代码示例:
// SPDX-License-Identifier: Apache-2.0
pragma solidity