# 트랜잭션 reverted 0x09가 뜨는데 원인 파악이 어렵습니다

**URL:** <https://devforum.kaia.io/t/reverted-0x09/4448>\
**Category:** Kaia\
**Tags:** caver-js, klaytn\
**Created:** [3월 18, 2022, 1:34오후 UTC](https://devforum.kaia.io/t/reverted-0x09/4448 "2022-03-18T13:34:03Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sung-Yeoul\_Park](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/sung-yeoul_park/32/1691_2.png) [@Sung-Yeoul\_Park](https://devforum.kaia.io/u/Sung-Yeoul_Park)\
**Post date:** [3월 18, 2022, 1:34오후 UTC](https://devforum.kaia.io/t/reverted-0x09/4448/1 "2022-03-18T13:34:03Z")

</div>

페이지에서 NFT를 민팅하는 부분을 제작하고 있습니다.

현재 바오밥 테스트넷에서 테스트하고 있는데

카이카스 결제창을 열어서 승인하는 것까지는 성공을 했습니다.

아래 링크는 실패한 트랜잭션입니다.

> **[Klaytnscope](https://baobab.scope.klaytn.com/tx/0x49dfbdd2da39ca3f090712972ce88d3cd05ee1f894b0a2467c67d9f883161b75?tabId=internalTx)**
>
> Klaytnscope allows you to find data by monitoring network health and statistics of Klaytn as well as profiling blocks and transactions on Klaytn.

저는 아무래도 디버깅하느라 새벽까지 못 잘 것 같습니다 ㅜㅜ

밑에는 execution reverted 트랜잭션인데  
“status”: false가 되는 게 마음에 걸립니다 ㅜㅜ

Uncaught (in promise) Error: evm: execution reverted  
{  
“blockHash”: “0xa410bb67ef6851e97f7b08c3d132e240ce6421cd8d65dd7a752f4e2f72ebc3c3”,  
“blockNumber”: 86039043,  
“contractAddress”: null,  
“from”: “0x4d4a42a16e5d025b48a6a7bc989f36fcdebddd7d”,  
“gas”: “0x1e8480”,  
“gasPrice”: “0xae9f7bcc00”,  
“gasUsed”: 30390,  
“input”: “0x2db115440000000000000000000000000000000000000000000000000000000000000001”,  
“logs”: [],  
“logsBloom”: “0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000”,  
“nonce”: “0xa”,  
“senderTxHash”: “0x49dfbdd2da39ca3f090712972ce88d3cd05ee1f894b0a2467c67d9f883161b75”,  
“signatures”: [  
{  
“V”: “0x7f6”,  
“R”: “0x708cbe195da9daa5794aeeddf25669ec9d27da8886277fb27e961e9abab54b9e”,  
“S”: “0x41224fd9c490d896d50718742020f5d9ba0573aade4de2e513fd2541128c8ea4”  
}  
],  
“status”: false,  
“to”: “0x630ebb044c3baf105dd04df825c371629fd42f11”,  
“transactionHash”: “0x49dfbdd2da39ca3f090712972ce88d3cd05ee1f894b0a2467c67d9f883161b75”,  
“transactionIndex”: 0,  
“txError”: “0x9”,  
“type”: “TxTypeSmartContractExecution”,  
“typeInt”: 48,  
“value”: “0xde0b6b3a7640000”  
}

아래는 구글 크롬으로 디버깅하고 있는데 나온 에러 사항입니다.  
솔직히, 도저히 갈피를 못 잡겠습니다.

```
at checkForNormalTx (index.js:770:1)
at index.js:646:1

    // Unhappy case: trasaction has error. A.K.A 'bad receipt'.
    if (!receipt) return
    const receiptJSON = JSON.stringify(receipt, null, 2)

    const { txError } = receipt
    if (txError && errors.txErrorTable[txError]) {
        utils._fireError( -----> at checkForNormalTx (index.js:770:1)
            new Error(`${errors.txErrorTable[txError]}\n ${receiptJSON}`),
            mutableConfirmationPack.defer.eventEmitter,
            mutableConfirmationPack.defer.reject
        )
    } else if (receipt.status === false || receipt.status === '0x0') {
        utils._fireError(
            errors.transactionReverted(receiptJSON),
            mutableConfirmationPack.defer.eventEmitter,
            mutableConfirmationPack.defer.reject
        )

// if we have a valid receipt we don't need to send a request
return (
    ((existingReceipt && utils.promiEvent.resolve(existingReceipt)) || _klaytnCall.getTransactionReceipt(result))
        // if CONFIRMATION listener exists check for confirmations, by setting canUnsubscribe = false
        .then(receipt => {
            checkIsReceiptInBlock(receipt)

            const formattedReceipt = formatReceipt(receipt, method)

            if (mutableConfirmationPack.promiseResolved) return

            return isContractDeployment -----> index.js:646:1
                ? checkForContractDeployment(mutableConfirmationPack, formattedReceipt, sub)
                : checkForNormalTx(mutableConfirmationPack, formattedReceipt, sub)
        })
        .catch(countTimeout)
)

```

아래는 자바스크립트 소스 입니다.

```
          var oneKlayToPeb = cav.utils.toPeb(config.OneKLAYMintForStarting_Price, 'KLAY');
          console.log("oneKlayToPeb : ", oneKlayToPeb);

          const CONTRACT_ADDR = config.contract_addr;

          const caverForSend = new Caver(window.klaytn);
          const conForSend = new caverForSend.klay.Contract(config.abi, CONTRACT_ADDR);
          console.log("conForSend : ", conForSend);

          const inputDataForSend = await conForSend.methods.publicMint(1).encodeABI();
          console.log("inputDataForSend : ", inputDataForSend);
          const result = await caverForSend.klay.sendTransaction(
          {
              type: 'SMART_CONTRACT_EXECUTION',
              from: account,
              to: CONTRACT_ADDR,
              data: inputDataForSend,
              gas: '2000000',
              value: oneKlayToPeb,
          })

          .on('transactionHash', (txHash) => {
              console.log(`
              Sending a transaction... (Call contract's function 'publicMint')
              txHash: ${txHash}
              `);
          })

          .on('receipt', (receipt) => {
              // success
              console.log(`
              receipt: ${receipt}
              `);
          })

          .on('error', (e) => {
              // failed
              console.log(`
              error: ${e}
              `);
              alert(e.message);

          });

```

긴 글 읽어주셔서 감사합니다.  
어떤 문제인지 아시는 분은 부디 답글을 주셨으면 좋겠습니다.  
간곡히 부탁드리겠습니다.

감사합니다.

---

<div class="post-metadata">

**Author:** ![Sung-Yeoul\_Park](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/sung-yeoul_park/32/1691_2.png) [@Sung-Yeoul\_Park](https://devforum.kaia.io/u/Sung-Yeoul_Park)\
**Post date:** [3월 18, 2022, 1:36오후 UTC](https://devforum.kaia.io/t/reverted-0x09/4448/2 "2022-03-18T13:36:39Z")

</div>

밤 늦게라도 새벽이라도 연락주셔도 됩니다.  
문제 해결에 대해 부디 조금의 힌트라도 주셨으면 좋겠습니다. ㅜㅜ  
감사합니다.

---

<div class="post-metadata">

**Author:** ![lorance.call](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/lorance.call/32/1653_2.png) [@lorance.call](https://devforum.kaia.io/u/lorance.call)\
**Post date:** [3월 18, 2022, 5:16오후 UTC](https://devforum.kaia.io/t/reverted-0x09/4448/3 "2022-03-18T17:16:22Z")

</div>

> [@Sung-Yeoul\_Park](#):
>
> `const inputDataForSend = await conForSend.methods.publicMint(1).encodeABI();`

해당 코드를

```js
const result = await conForSend.methods.publicMint(1).send({
    from: klaytn.selectedAddress,
    gas: '2000000',
    value: oneKlayToReb
})

```

을 이용해 진행해봐주실수 있으실까요?

publicMint method 의 solidity 소스도 제공해 주시면 답변에 더 도움이 될 수 있을것같습니다만.  
보안문제가 염려되시면 개인메시지로 보내주세요.

---

<div class="post-metadata">

**Author:** ![Sung-Yeoul\_Park](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/sung-yeoul_park/32/1691_2.png) [@Sung-Yeoul\_Park](https://devforum.kaia.io/u/Sung-Yeoul_Park)\
**Post date:** [3월 18, 2022, 6:03오후 UTC](https://devforum.kaia.io/t/reverted-0x09/4448/4 "2022-03-18T18:03:44Z")

</div>

답변을 달아주셔서 정말 감사합니다!!  
문제는 js 코드가 아니라 솔리디티 코드의 설정 값에 있었습니다!!  
밤 늦게라도 연락주셔서 감사합니다!!  
좋은 주말 되세요!!

---

<div class="post-metadata">

**Author:** ![our](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/our/32/2139_2.png) [@our](https://devforum.kaia.io/u/our)\
**Post date:** [3월 21, 2022, 10:02오후 UTC](https://devforum.kaia.io/t/reverted-0x09/4448/5 "2022-03-21T22:02:08Z")

</div>

혹시 어떤 문제가 있었는지 알려주실 수 있나요…? 저도 같은 문제가 발생해서요…ㅠㅠ

---

<div class="post-metadata">

**Author:** ![hawkjgs](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/hawkjgs/32/747_2.png) [@hawkjgs](https://devforum.kaia.io/u/hawkjgs)\
**Post date:** [7월 15, 2022, 8:45오전 UTC](https://devforum.kaia.io/t/reverted-0x09/4448/7 "2022-07-15T08:45:45Z")

</div>

해당은 Klay 가 없어서 난 오류네요… Scope 정보에 따르면
