ERC-165
ERC-165는 Ethereum Request for Comment165의 약자로서 토큰 대신에 방법에 대한 표준을 지정한다. 인터페이스 확인 구현 후 인터페이스 게시하며 스마트 컨트랙트에 주어진 인터페이스를 언제 사용하는지 감지한다.
개요
ERC-165 인터페이스
pragma solidity ^0.4.20;
interface ERC165 { /// @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); }
solidity의 함수들은 모두 selector를 가지고 있습니다. selector는 간단히 생각하시면 함수의 아이디라고 생각하셔도 무방합니다. 이 아이디를 만드는 방법은 함수의 시그니처를 해싱하는 건데요. 예를 들어서