Comment on page
NFT 스캠방지
- 유효성 검사
- Contract 표준 준수 여부
- 블록체인 탐색기 내 소스코드 등록 및 공개 여부
- Token URI 접근 가능 여부
- 접근에 소요되는 시간 체크
- Metadata 표준 준수 여부
- Metadata 저장소의 분산화 여부
- Metadata URL 프로토콜 체크
- Metadata 콘텐츠 접근 가능 여부
*KlaytnScope의 API 미제공으로 인해 'ContractVerify'를 확인할 수 없음
*'supportsInterface'키가 true이면서 'ContractStandard'키의 값이 모두 false일 경우, Proxy 컨트랙트일 확률이 아주 높습니다.(표준을 지킨 NFT)
Android
iOS
Web
이름 | 타입 | 설명 |
---|---|---|
network | String | 네트워크 |
token_id | String | NFT 토큰 아이디 |
collection_id | String | 컨트랙트 주소 |
api_key | String | (select) API 키 |
이름 | 타입 | 설명 |
---|---|---|
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 | 컨트랙트 표준 준수 확인 |
//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
}
}
*/
이름 | 타입 | 설명 |
---|---|---|
network | String | 네트워크 |
token_id | String | NFT 토큰 아이디 |
collection_id | String | 컨트랙트 주소 |
api_key | String | (select) API 키 |
이름 | 타입 | 설명 |
---|---|---|
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 | 컨트랙트 표준 준수 확인 |
//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
}
}
*/

Last modified 1mo ago