블록체인 스캐너(Crawler) 로직

메인넷 블록체인 스캐너를 사용하기 위한 데이터베이스 구성에 대한 설명입니다.

개요

이 문서는 블록체인 스캐너(이하 크롤러)의 주요 로직을 데이터베이스의 각 테이블과 연관지어 설명합니다.

크롤러 입장에서 각 데이터베이스 컬럼들을 정의하고, 해당 데이터들이 쌓이는 과정을 상세하게 기술합니다.

주요 공통 로직

End-point를 향해 RPC method를 호출하여 노드에게서 데이터를 가져옵니다.

*RPC method: getBlock, getTransactionReceipt 등

크롤러는 block 및 transaction을 순차적으로 돌면서 수많은 조건에 따라 필요한 데이터만을 가려냅니다. 데이터를 구문분석하여 사람이 읽고 이해할 수 있는 데이터로 가공한 뒤, 데이터베이스에 insert합니다.

크롤러는 기본적으로 IERC20, IERC721, IERC1155 표준을 기준으로 데이터를 수집하고 있으며, 표준을 지키지 않았더라도 거래가 정상적으로 이루어진 토큰들은 원활히 수집될 수 있도록 설계되어 있습니다.

주요 메서드

메서드명설명

getProvider

메인넷 블록 체인에 연결하는 데 사용

getBlock

메인넷 블록 체인에서 특정 블록의 정보를 조회하는 데 사용

getTransactionReceipt

메인넷 블록 체인에서 특정 트랜잭션의 receipt 정보를 조회하는 데 사용

getTransaction

메인넷 블록 체인에서 특정 트랜잭션의 정보를 조회하는 데 사용

getBalance

메인넷 블록 체인에서 특정 주소의 잔액을 조회하는 데 사용

주요 제공 서비스

주요 메서드를 활용하여 Live Scanner 기능을 구현합니다.

메서드명설명

addTokenList()

토큰 수집

addTokenOwnerList()

토큰 오너 수집

addTokenTransferList()

토큰 전송내역 수집

addCollectionList()

컬렉션 수집

addNFTTransactionList()

NFT 전송내역 수집

addTradeList()

NFT 거래내역 수집

getNextState()

최신 블럭 번호 수집

updateNodeState()

현재 노드와의 연결 상태

statistics()

크롤러 속도와 진행상태 수집

Last updated