NFT 홀더인증(검증)

개요

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

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

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

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

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

Parameters

Response

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.."}
            ]
    }
*/

Last updated