# Kip17 mint 함수 수정

**URL:** <https://devforum.kaia.io/t/kip17-mint/2024>\
**Category:** KAS (아카이브)\
**Tags:** caver-js, smart-contract, klaytn\
**Created:** [10월 10, 2021, 2:49오후 UTC](https://devforum.kaia.io/t/kip17-mint/2024 "2021-10-10T14:49:37Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![klayy](https://avatars.discourse-cdn.com/v4/letter/k/91b2a8/32.png) [@klayy](https://devforum.kaia.io/u/klayy)\
**Post date:** [10월 10, 2021, 2:49오후 UTC](https://devforum.kaia.io/t/kip17-mint/2024/1 "2021-10-10T14:49:37Z")

</div>

안녕하세요

1. kas 연동을 통해서, mintWithTokenURI 대신에 제가 임의로 재구성한 mint 함수를 실행시키려 하는데  
제대로 동작하지 않는 것 같습니다…

코드는 대략 이런 식으로 구성되어있고,  
실행시키면

 ![스크린샷 2021-10-10 오후 11.13.46](https://canada1.discourse-cdn.com/flex035/uploads/klaytn/original/1X/89af2ebb718e3c3fa8d98b9165c6a1181e94afeb.jpeg)

이런 식의 결과가 나옵니다.

mintTokenWithURI 같은 함수 실행시, transactionHash 값 등 여러 값이 나오는 걸 확인했는데  
이와 다르게 실행결과가 나오는 이유를 잘 모르겠고 결과로 NFT transfer 도 이루어지지 않습니다.

실제 함수는 아래와 같이 쓰여져 있습니다.

```
function mintTest(address to, uint256 tokenId, string memory tokenURI, string memory data) public onlyOwner returns (bool) { 
    Data[tokenId] = Const(data);
    _mint(to, tokenId);
    _setTokenURI(tokenId, tokenURI);
    return true;
}

```

내부에 구조체를 형성하여 저장하는 코드가 추가되어있고, \_mint 부터 아래 세 줄은 mintTokenWithURI 와 동일합니다.

실행 시, 실제로 mint 가 되지 않으며, transaction 에도 뜨지 않습니다.

다만, Klaytn IDE 에서 함수 실행시 문제없이 NFT transfer 에 기록됩니다.

그래서 제 생각엔 저 위에 써 있는 함수 실행 부분에서 문제가 있는 것 같습니다.

위의 코드의 함수, 키, ABI 등 생략된 내용만 제외하곤 동일하게 구성되어있습니다.

대체 어떤 문제가 있고 어떻게해야 실행이 될까요?

혹시 컨트랙트 함수에 대한 오너 확인이 안 되어서 발생하는 문제면, 어떤 코드를 추가해야 해결이 가능할까요?

1. KAS 서비스에서 제공하는  
mintReceipt = await kip17.mintWithTokenURI(to\_address, tokenId, uri, { from:keyring.address })  
이 코드는 문제없이 실행되는데,  
이 코드를 활용하여  
mintReceipt = await kip17.mintTest(to\_address, tokenId, uri,data )  
이게 가능한지도 궁금합니다.  
(실행시켰을 때는 안되는 것으로 보아, kip17에 정의된 함수만 실행되는 것 같습니다만, 여쭤봅니다. )
