KTHULU DOCS
  • 소개
    • 크툴루 소개
    • 스캐너 소개
  • 크툴루 가이드
    • 이용 가이드
      • 다운로드 및 계정 생성
      • 컬렉션 및 NFT 조회
      • NFT 전송
      • 계정 활동
  • 크툴루 개발가이드
    • Quick Start
    • WEB, APP SDK 개발 가이드
      • 계정 생성
      • 계정 복원
      • 계정 정보 조회
      • 지갑 모드
      • 가스비 추정
      • 트랜잭션 상태 확인
      • 토큰 발행
      • 토큰 정보 조회
      • 토큰 목록 조회
      • 토큰 잔고 조회
      • 토큰 거래내역
      • 토큰 전송
      • 토큰 승인
      • 토큰 스왑
      • 토큰 브릿지
      • NFT 컬렉션 생성
      • NFT 민트 (발행)
      • NFT 다중민트 (발행)
      • NFT 조회
      • NFT 거래내역
      • NFT 총발행량
      • NFT 전송
      • NFT 다중전송
      • NFT 소각
      • NFT 숨김
      • NFT 숨김 조회
      • NFT 브릿지
      • NFT 스캠방지
    • Scanner APP SDK 개발 가이드
      • NFT 홀더인증(서명)
      • NFT 홀더인증(검증)
      • NFT 홀더인증(확인)
    • 블록체인 End-Point
      • Ethereum
      • Klaytn
      • Polygon
      • BNB
    • 블록체인 스캐너(Crawler) 로직
      • crawler_table
      • nft_collection_table
      • nft_owner_table
      • nft_token_table
      • nft_transaction_table
      • nft_hide_table
      • nodes_table
      • statistics_table
      • token_owner_table
      • token_table
      • token_transfer_table
      • users_table
      • Crawler Flow
  • 모니터링
    • 모니터링24
  • 고객센터
    • 문의 및 제안
  • 공지사항
    • 공지사항
      • Kthulu App
      • Live Scanner
      • Blockchain Node
    • 릴리즈 노트
  • 크툴루 약관
    • 개인정보처리방침
    • 서비스이용약관
  • 스캐너 약관
    • 개인정보처리방침
    • 서비스이용약관
  • 참조
    • 매뉴얼
      • Live Scanner 운영자 메뉴얼
    • SW사양서
      • Kthulu SDK
      • Live Scanner(Crawler)
Powered by GitBook
On this page
  • crawler_table
  • 테이블 개요
  • ​
  • 컬럼 정의
  • network_state
  • ​
  • crawled_block_number
  • ​
  • block_endnumber
  1. 크툴루 개발가이드
  2. 블록체인 스캐너(Crawler) 로직

crawler_table

crawler_table

테이블 개요

'crawler_table'은 크롤러가 실행될 때 가장 먼저 찾게되는 테이블입니다. 크롤러가 블록체인 정보를 수집할 시점을 정의하고 현재 상태를 기록합니다.

​

컬럼 정의

컬럼명
설명

network

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

crawled_block_number

크롤러가 마지막으로 수집한 블록의 넘버를 의미합니다.

block_endnumber

크롤러가 수집할 블록의 범위 중 가장 마지막 블록을 의미합니다.

network_state

크롤러의 현재 상태를 의미합니다. (0=off, 1=on)

​

network_state

크롤러 내부에서 정보를 수집할 네트워크를 미리 정의한 후(config.js) 크롤러를 실행하면, 해당 네트워크의 엔드포인트 노드에 연결합니다. 연결이 성공적으로 완료되면 크롤러는 가장 처음 'state' 컬럼을 찾아 0(off)이었던 값을 1(on)으로 변경합니다. 이는 크롤러가 엔드포인트 노드와 성공적으로 연결을 마쳤으며 해당 노드를 통해 이후의 본격적인 데이터 수집 로직을 가동하고 있음을 뜻합니다.

​

crawled_block_number

크롤러는 'last_crawled' 컬럼의 값을 시작으로 'end' 컬럼의 값에 도달할 때까지 데이터 수집을 진행합니다. 크롤러는 'last_crawled' 컬럼의 값을 무사히 가져오면, 그 즉시 해당 컬럼의 값을 1만큼 증가시키고, 그 값에 해당하는 블록에 대한 데이터 정보를 수집하기 시작합니다. 이는 수십개의 크롤러 프로세스가 같은 블록을 동시에 수집하는 리소스 낭비를 방지하기 위함입니다.즉 '해당 블록넘버까지는 수집이 완료되었다'라기 보다는, 크롤러에게 데이터 수집할 블록넘버를 전달해줄 일종의 길잡이 역할을 하는 컬럼이라고 볼 수 있습니다.실행중인 크롤러를 임의로 정지 > 재실행 했을 때, 미처 수집하지 못한 블록이 있을 경우 해당 컬럼의 숫자를 롤백시킴으로써 수집하지 못하고 지나치는 블록이 없도록 설계되어 있습니다.

​

block_endnumber

'end'는 항상 'last_crawled'보다 높아야 하며, 특정 블록이 아닌 네트워크의 최신 블록까지 쌓기를 원할 경우 해당 컬럼의 값을 '-1'로 설정하면 됩니다.

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

Last updated 1 year ago