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
        }
    }
*/

Last updated