nft_collection_table

테이블 개요

'nft_collection_table'은 크롤러가 수집한 nft의 collection의 정보를 저장하는 테이블입니다.

컬럼 정의

컬럼명설명

network

크롤러가 지원하는 4개의 메인넷을 의미합니다. [ethereum, klaytn, polygon, bnb]

collection_id, collection_name, collection_symbol

수집된 collection의 id, collection의 이름, collection의 심볼을 의미합니다.

nft_type

수집된 collection의 nft_type을 의미합니다.

creator

해당 collection의 제작자를 의미합니다.

total_supply

해당 collection_id로 배포된 토큰의 총 발행량을 의미합니다.

deployment_date

collection이 배포된 시점을 의미합니다.

collection_id, collection_name, collection_symbol

contract가 최초 배포되는 transactionReceipt에는 contractAddress라는 key가 존재하고 이 key의 Value가 collection_id의 역할을 합니다.

ERC721 표준함수 중 하나인 name() 및 symbol()을 call 해서 받아온 데이터가 collection_name, collection_symbol에 저장됩니다.

ERC1155 표준에는 name, symbol 메소드가 정의되어있지 않기 때문에 값이 없는 경우가 잦습니다.

nft_type

기본적으로 NFT의 타입은 supportsInterface()를 사용해서 구분짓게 됩니다. NFT는 컨트랙트가 특정 인터페이스를 구현했는지 조회할 수 있게하기 위해 IERC165 표준을 구현하는데, 이 IERC165 표준에 supportsInterface 메소드가 구현되어 있습니다. 해당 메소드와 IERC721/IERC1155의 인터페이스 아이디를 활용하여 특정 컨트랙트의 NFT 타입을 가져올 수 있게 됩니다.

creator, total_supply

NFT의 생성자인 creator는 owner()를 통해 가져옵니다. NFT의 총 발행량인 total_supply는 total_supply()를 통해 가져옵니다.

deployment_date

크롤러는 수많은 트랜잭션 가운데 deploy(배포) 트랜잭션을 감지할 수 있습니다. 해당 트랜잭션의 timestamp가 곧 deployment_date이 됩니다.

Last updated