Klip API를 통한 NFT minting 직후 tokenID 값 획득

안녕하세요.

Klip API (https://api.klipwallet.com/v2/wallet/mint) 를 통해 NFT를 생성하고 있습니다

위 api를 정상적으로 성공한 경우 바로 tokenId를 획득해 오고 싶은데요,

찾아보니 caver-js를 직접 사용해서 민팅하는 경우 해당 컨트랙트의 이벤트리스너를 함께 추가하여 폴링하는 방식으로 값을 구해올 수는 있는것 같은데요

저의 경우 Klip api를 호출하면 반환받을 수 있는 객체로는 transaction hash 등이 전부이고
이 hash를 가지고 receipt를 받아오는 정도는 시도해 보았는데
(caver.rpc.klay.getTransactionReceipt(txhash))
이를 통해서도 결과안에 tokenId는 확인할 수 없는것 같네요.

tokenId를 받아오기 위해 receipt 말고 더 해볼 수 있는게 있을까요?

감사합니다!

안녕하세요 :slight_smile:

블록에 남은 로그를 통해서 token id를 구하실 수 있습니다. KAS의 node api나 EN을 직접 호출하는 방식으로 얻을 수 있습니다. 참고로 KIP17의 민팅은 아래와 같은 형식으로 로그를 남기고 있습니다.

emit Transfer(address(0), to, tokenId);

가이드 주신 블록에 남은 로그를 확인하는 KAS NODE API를 아래와 같이 호출하였는데요
var method =“klay_getLogs”
var params = [{“blockHash”:hash}]
var r = await axios.post(https://node-api.klaytnapi.com/v1/klaytn,{
id, jsonrpc, method, params },{headers})

리턴값의 종류가 너무 많아서 이중에 어떤것이 event log 인지 판단하기 어려운데요
address, data, topic, … 등 어떤것을 타켓팅해야하는지, 또 해당 대상을 가지고
emit Transfer으로 로깅된 tokenId를 획득해 올 수 있는지 조금만 더 코멘트주시면 감사하겠습니다!

(참고로 지금 테스트중인 transactionHash는
0x4e31f565bb622e9a591f44afcbe23c8e8977a80ac80f906f5aff94cd885955dd
입니다.
klaytn scope 에서 해당 트랜잭션을 조회했을 때 보이는 tokenId를 획득해오고자 합니다)

감사합니다 :slight_smile: