nft_transaction_table

테이블 개요

NFT의 전송, 거래 이력에 대한 정보가 저장되는 테이블입니다. 또한 특정 트랜잭션이 sales(거래)을 했는지, 단순 전송(transfer)만을 했는지 구분할 수 있습니다.

컬럼 정의

주요 로직

크롤러는 ERC721의 전송을 수행하는 'transferFrom', 'safeTransferFrom'과 ERC1155의 전송을 수행하는 'safeTransferFrom'(Single), 'safeBatchTransferFrom' 모두 감지합니다. 감지된 트랜잭션 및 해당 로그를 구문분석하여 '누가 누구에게 무엇을 얼마나' 전송했는지 저장합니다.

NFT 마켓에서 거래가 이루어지면 마켓에서는 해당 거래의 트랜잭션을 생성/전송합니다. 이 기록이 블록체인에 정상적으로 쌓이게되면 거래가 완료됩니다. 크롤러는 이러한 트랜잭션의 데이터를 구문분석하여 '누가 누구에게 무엇을 무엇으로 얼마에 구매했는지'와 같은 정보를 가져옵니다. 'sale'하는 행위도 결국 블록체인 입장에서는 'transfer' 이벤트의 연속이기 때문에, 겉보기에는 비슷해보이는 수많은 거래 이벤트들을 놓치지 않고 정확히 구문분석 하는것이 핵심입니다.

transfer 이벤트와 sales 이벤트가 달라서 타입을 구분할 수 있습니다.(transaction의 logs에서 확인 가능합니다) 하지만 위에 설명처럼, sales 이벤트에도 transfer 이벤트는 따라붙습니다. '주문서'라고 볼 수 있는 sales 이벤트 뿐만 아니라, 같은 트랜잭션에 포함된 transfer까지 함께 구문분석해야 정확한 데이터를 수집할 수 있습니다.

대상 마켓

ethereum: opensea, X2Y2, LooksRare, Rarible, blur cypress: opensea, pala polygon: opensea bnb: opensea, binance market

Last updated