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
  1. 크툴루 개발가이드
  2. WEB, APP SDK 개발 가이드

NFT 스캠방지

개요

NFT의 유효성을 검사하여 안전하고 신뢰할 수 있는 NFT인지 확인합니다.

스마트 컨트랙트, 메타데이터에 포함된 소스와 콘텐츠들의 규격 준수 여부 및 품질을 확인한 후 결과를 반환합니다.

  • 유효성 검사

  • Contract 표준 준수 여부

  • 블록체인 탐색기 내 소스코드 등록 및 공개 여부

  • Token URI 접근 가능 여부

  • 접근에 소요되는 시간 체크

  • Metadata 표준 준수 여부

  • Metadata 저장소의 분산화 여부

  • Metadata URL 프로토콜 체크

  • Metadata 콘텐츠 접근 가능 여부

*KlaytnScope의 API 미제공으로 인해 'ContractVerify'를 확인할 수 없음 *'supportsInterface'키가 true이면서 'ContractStandard'키의 값이 모두 false일 경우, Proxy 컨트랙트일 확률이 아주 높습니다.(표준을 지킨 NFT)

Parameters

이름
타입
설명

network

String

네트워크

token_id

String

NFT 토큰 아이디

collection_id

String

컨트랙트 주소

api_key

String

(select) API 키

Response

이름
타입
설명

result

String

호출 결과 성공여부 (성공: OK, 실패: FAIL)

value (array of object)

이름
타입
설명

ContractVerify

bool

컨트랙트 소스코드 공개 확인

TokenURIAvailable

bool

Token url 이용 가능 확인

TokenURIResponseOnTime

bool

응답 속도 기준시간 확인

TokenURIDecentralized

bool

Token url 저장소 탈중앙화 확인

MetadataStandard

bool

Metadata 표준 준수 확인

MetadataImageAvailable

bool

Metadata 이미지 이용 가능 확인

TokenURIisHTTPS

bool

tokenURI 보안성 검증(Protocol이 http인지 https인지 확인)

ImageURIisHTTPS

bool

imageURI 보안성 검증(Protocol이 http인지 https인지 확인)

supportsInterface

bool

지원 인터페이스

ContractStandard

object

컨트랙트 표준 준수 확인

Example

//parameters
val network = "polygon"
val token_id = "6276"
val collection_id =  "0x..."
val api_key = ""
val verify = verifyNFT(network, 
    token_id,
    collection_id,  
    api_key)
println(verify)

// result log
/*
    {
        "result": "OK",
        "value": {
            "ContractVerify": true,
            "TokenURIAvailable": false,
            "TokenURIResponseOnTime": false,
            "TokenURIDecentralized": false,
            "MetadataStandard": false,
            "MetadataImageAvailable": false,
            "TokenURIisHTTPS": false,
            "ImageURIisHTTPS": false,
            "ContractStandard": {
                "balanceof": true,
                "ownerOf": true,
                "transferFrom": true,
                "approve": true,
                "setApprovalForAll": true,
                "getApproved": true,
                "isApprovedForAll": true,
                "safeTransferFromWith_data": false,
                "safeTransferFromWithout_data": true
            },
            "supportsInterface": true
        }
    }
*/

Parameters

이름
타입
설명

network

String

네트워크

token_id

String

NFT 토큰 아이디

collection_id

String

컨트랙트 주소

api_key

String

(select) API 키

Response

이름
타입
설명

result

String

호출 결과 성공여부 (성공: OK, 실패: FAIL)

value (array of object)

이름
타입
설명

ContractVerify

bool

컨트랙트 소스코드 공개 확인

TokenURIAvailable

bool

Token url 이용 가능 확인

TokenURIResponseOnTime

bool

응답 속도 기준시간 확인

TokenURIDecentralized

bool

Token url 저장소 탈중앙화 확인

MetadataStandard

bool

Metadata 표준 준수 확인

MetadataImageAvailable

bool

Metadata 이미지 이용 가능 확인

TokenURIisHTTPS

bool

tokenURI 보안성 검증(Protocol이 http인지 https인지 확인)

ImageURIisHTTPS

bool

imageURI 보안성 검증(Protocol이 http인지 https인지 확인)

supportsInterface

bool

지원 인터페이스

ContractStandard

object

컨트랙트 표준 준수 확인

Example

//parameters
let network = "polygon"
let token_id = "6276"
let collection_id = "0x..."
let api_key = ""
let verifyNFT = try await verifyNFT(network: network, 
    token_id: token_id, 
    collection_id: collection_id, 
    api_key: api_key)
print(verifyNFT)

// result log
/*
    {
        "result": "OK",
        "value": {
            "ContractVerify": true,
            "TokenURIAvailable": false,
            "TokenURIResponseOnTime": false,
            "TokenURIDecentralized": false,
            "MetadataStandard": false,
            "MetadataImageAvailable": false,
            "TokenURIisHTTPS": false,
            "ImageURIisHTTPS": false,
            "ContractStandard": {
                "balanceof": true,
                "ownerOf": true,
                "transferFrom": true,
                "approve": true,
                "setApprovalForAll": true,
                "getApproved": true,
                "isApprovedForAll": true,
                "safeTransferFromWith_data": false,
                "safeTransferFromWithout_data": true
            },
            "supportsInterface": true
        }
    }
*/

PreviousNFT 브릿지NextScanner APP SDK 개발 가이드

Last updated 1 year ago