[질문]
안녕하세요.
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 말고 더 해볼 수 있는게 있을까요?
감사합니다!
[답변]
안녕하세요.
블록에 남은 로그를 통해서 token id를 구하실 수 있습니다. KAS의 node api나 EN을 직접 호출하는 방식으로 얻을 수 있습니다. 참고로 KIP17의 민팅은 아래와 같은 형식으로 로그를 남기고 있습니다.
emit Transfer(address(0), to, tokenId);
- node api 참고 : Klaytn Docs
- KIP17 로그 참고 : klaytn/klaytn-contracts · GitHub