[Solidity] NFT Contract 여부 체크

in upvu •  2 years ago 

이더리움 메인넷(또는 EVM 체인들)에서 해당 컨트랙트가 NFT Contract 인지 체크하는 방법을 알아봅니다.

ERC-721 표준은 EIP-165 인터페이스를 Implement 받아서 만들도록 되어 있습니다.
그리고 EIP-165에는 supportsInterface 함수가 존재하는데, 거기에 NFT interface ID인 0x80ac58cd 를 입력해서 true를 반환하면 NFT Contract 란 것을 확인 할 수 있습니다.


위 이미지처럼 ERC-721 Contract는 supportsInterface 함수를 가지고 있을 것이고, interfaceIddp 0x80ac58cd 입력시 True를 반환합니다.

BAYC Contract : https://etherscan.io/token/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#readContract

유명한 BAYC Contract에서 호출해보니 역시나 true를 반환하네요..!!

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE BLURT!