Kaikas - RPC Error: Internal JSON-RPC error. ! 문의 드립니다


사진 1 에서 처럼 ABI ( …으로 요약된 부분)을 넣고 Contract Address를 넣었습니다.

그리고 다른 컴포넌트에서 import 를 통해서 객체를 불러왔습니다.


그리고 사진 2처럼 transfer함수에 보내는 사람, 갯수 그리고 send를 통하여 from, gas, 등등을 적어주었습니다.

스크린샷 2021-11-29 오후 5.24.14
그랬더니 사진 3과같은 오류가 발생합니다.

도움이 필요합니다.

caver.klay.sendTransaction({
from: kaikasAddress,
to: toAddress,
value: caver.utils.toPeb(1, “KLAY”),
gas: 80000,
});

식으로 KLAY를 transfer 하는 것은 작동합니다. 하지만 배포된 토큰을 transfer 하는 것이 작동하지 않습니다.

안녕하세요.
답변이 늦어 죄송합니다.
확인해본결과 문제가 발생하고 있음을 확인하였습니다.
또, Caver-js 1.5.0 미만의 버전에서 정상 작동하는것을 확인하여 Kaikas Extension을 사용 할 경우 Caver-js 1.5.0 미만의 버전을 당분간 사용할것을 권고드립니다.
감사합니다.

안녕하세요~ 해당하는 버전 이슈가 고쳐졌는지 궁금합니다~~
저도 동일한 에러가 나오고 있구요~
사용되는 caver-js 버전은 1.6.4 인데 버전을 낮춰야될까요?

안녕하세요 @yeonju.lee1005 :blush:
클레이튼 포럼에 방문해주셔서 감사합니다.
해당 이슈 관련 업데이트는 4월 말에 진행이 될 예정입니다.

추가로 Kaikas 개발자 포럼이 Klaytn Forum이 아닌 별도의 포럼 페이지로 이동했습니다.
기존의 Klaytn Forum 이 아닌 새로운 페이지에 문의해주시면 감사하겠습니다!

좋은하루보내세요!

1개의 좋아요

I’m getting the same issue.
image

I was using caver-js version 1.6.2 (which has been working since January):

<script src="https://cdnjs.cloudflare.com/ajax/libs/caver-js/1.6.2/caver.min.js"></script>

I just got a complaint from a user today that it stopped working.

If I downgrade the client-side caver.js to 1.5.0 as @Johnny suggests, but now the browser reports:

Uncaught ReferenceError: require is not defined
    at caver.min.js:1:41
(anonymous) @ caver.min.js:1

i.e. this version of caver.js isn’t designed for use in-browser

If I upgrade the browser version to 1.8.1 then I get the following whenever I try to perform a transaction:

Uncaught (in promise) ReferenceError: Buffer is not defined
    at Object.formatParam (caver.min.js:2:1071482)
    at caver.min.js:2:1069439
    at Array.map (<anonymous>)
    at Object.encodeParameters (caver.min.js:2:1069363)
    at caver.min.js:2:1093447
    at Array.map (<anonymous>)
    at Object.w._encodeMethodABI (caver.min.js:2:1093421)
    at Object.w._processExecuteArguments (caver.min.js:2:1098878)
    at Object.w._executeMethod (caver.min.js:2:1099377)
    at validateVoucherCode (redeem.js:51:73)

Which version should I use for in-browser transactions?

해결이 되었나요? 정확하게 어떤 버전을 사용해야하는지 알려주시면 감사하겠습니다.

  1. 오늘 여러가지 시도를 해본 결과, caver-js 버전 1.4.1, 1.4,2를 포함해서 1.6.1, 1.6.2 그리고 1.8.1, 1.8.2 전부 위와 동일한 문제가 발생하였습니다.

  2. elliotwoods가 말씀한 "Uncaught ReferenceError: require is not defined"은 직접 webpack을 통해서 caver-js 의 깃허브 공식 리포지토리에 있는 1.41 버전 파일을 npm run build해서 실행보아서 해결하였지만, 마찬가지로 또다시 RPC Error: Internal JSON-RPC error이 떴습니다.

  3. 현재 카이카스는 내부적으로 1.8.2-r.c 버전을 사용하고 있드라구요. 이를 사용해보니 마찬가지로 또다시 RPC Error: Internal JSON-RPC error 가 생성되었습니다. 그리고 cdn을 통해 제공하는 같은 버전의 caver-js
    https://cdnjs.cloudflare.com/ajax/libs/caver-js/1.8.2-rc.2/caver.min.js
    를 실행해보니, elliotwoods와 마찬가지로 ReferenceError: Buffer is not defined 에러가 생성되었습니다. 이 또한 webpack을 통해 해결을 하였지만, 또다시 RPC Error: Internal JSON-RPC error가 생성되었습니다.

  4. 얼마전까지만 해도 caver-js 버전 1.6.2 에서 정상적으로 작동하던 부분이 오류가 생긴 것이라면 라이브러리 자체의 문제라기 보다 카이카스 측의 문제가 아닐까 싶습니다. 이또한 확인부탁드립니다.

  5. 즉 결론은 버전 상관없이 같은 에러가 나타나고 있다는 것입니다. 혹은 제가 잘못 생각해서 제대로 작동하는 버전이 있으시다면 알려주시기 바랍니다. 그렇지 않다면 최대한 빨리 수정 부탁드리겠습니다.

  6. klaytn ide는 어떤 방식으로 caver-js을 사용하나요? 카이카스 내장(window.caver)를 사용하나요? klaytn ide는 정상적으로 작동을 하는 것 같아 여쭤봅니다. 감사합니다

해결되었습니다. 아마 kaikas 측에서 오류를 수정해준 것 같습니다. 라이브러리와 코드가 동일한데 이제 실행이 된다는 점을 기반으로 유추해보면 kaikas 측의 오류가 아니었나 생각해봅니다.

안녕하세요 같은 오류를 겪고 있는데 저는 아직 해결이 안되어서요, 혹시 어떻게 해결하셨는지 여쭤봐도 될까요? 같은 코드를 실행했는데 그냥 오류 없이 실행이 되셨다는 말씀이신가요?

같은 오류라고 하시면 정확하게 어떤 오류를 말씀하시는지요? RPC Error:Internal JSON-RPC error 오류입니까? 이 오류는 자동해결되었습니다