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. Scanner APP SDK 개발 가이드

NFT 홀더인증(검증)

개요

Signature와 원본 메시지, 공개키를 비교하여 해당 Signature를 특정 주소가 서명한 것이 맞는지 검증합니다.

서명 당시의 prefix와 검증에 쓰일 prefix가 동일해야만 Signature 복구 시 서명자의 값이 일치합니다.

Android: 서명자임을 검증할 공개키(fromAddress)가 Signature의 실제 서명자가 아니라면, 서명자와 다른 공개키를 반환합니다.

iOS: 변수로 전달받은 Signature와 새롭게 서명한 Signature를 비교합니다(단말기에 개인키 필요). 일치하지 않으면 오류를 반환합니다.(ex: “서명이 일치하지 않습니다.”)

  • prefix에 지정한 값으로만 '검증'이 가능합니다. 즉, 'NFT 홀더인증(서명)'에 사용한 prefix를 'NFT 홀더인증(검증)' prefix 매개변수에 그대로 넣어야 문제없이 검증됩니다.

Parameters

이름
타입
설명
참조

network

String

네트워크

required

signature

String

서명

required

fromAddress

String

서명자

required

collection_id

String

컬렉션 아이디

required

token_id

String

토큰 아이디

required

prefix

String

서명 메세지에 포함될 고유값

required

Response

타입
설명

String

주어진 Signature의 서명자 공개키

example

// parameters
val network = "ethereum"
val signature = "f0a0d0f1489fd22..."
val fromAddress = "0x..."
val collection_id = "0x..."
val token_id = "1"
val prefix = "singOK"
val getSignerAddressFromSignature = getSignerAddressFromSignature(network,
    signature,
    fromAddress, 
    collection_id, 
    token_id,
    prefix)
println(getSignerAddressFromSignature)

/**
 * {
  "result" : "OK",
  "value" : [
            {"address" : "0x.."}
            ]
    }
*/

Parameters

이름
타입
설명
참조

network

String

네트워크

required

signature

String

서명

required

fromAddress

String

서명자

required

collection_id

String

컬렉션 아이디

required

token_id

String

토큰 아이디

required

prefix

String

서명 메세지에 포함될 고유값

required

Response

타입
설명

String

주어진 Signature의 서명자 공개키

example

// parameters
let network = "ethereum"
let signature = "f0a0d0f1489fd22..."
let fromAddress = "0x..."
let collection_id = "0x..."
let token_id = "1"
let prefix = "singOK"
let getSignerAddressFromSignature = try await getSignerAddressFromSignature(
  network:network,
  signature:signature,
  fromAddress:fromAddress,
  collection_id:collection_id,
  token_id:token_id,
  prefix:prefix)
print(getSignerAddressFromSignature)
/**
 * {
  "result" : "OK",
  "value" : [
            {"address" : "0x.."}
            ]
    }
*/

RequestURL

메소드
설명

post

Parameters

이름
타입
설명
참조

network

String

네트워크

required

account

String

서명자

required

collection_id

String

컬렉션 아이디

required

token_id

Int

토큰 아이디

required

signature

String

시그니처

required

Response

이름
타입
설명

result

String

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

value (array of object)

이름
타입
설명

signature

String

서명된 시그니처

example

{ 
    "network": ["ethereum"],
    "account": "0x...",
    "collection_id": "0x...",
    "token_id": 1,
    "signature": "0x..."
}
let nfts = await nft.getNFTsByWallet(network, account, collection_id, token_id, signature);
/**
 * {
  "result" : "OK",
  "value" : [
            {"address" : "0x.."}
            ]
    }
*/

PreviousNFT 홀더인증(서명)NextNFT 홀더인증(확인)

Last updated 1 year ago

https://app.kthulu.io:3302/nft/getNFTsByWallet