안녕하세요.
답변이 늦어 죄송합니다.
확인해본결과 문제가 발생하고 있음을 확인하였습니다.
또, Caver-js 1.5.0 미만의 버전에서 정상 작동하는것을 확인하여 Kaikas Extension을 사용 할 경우 Caver-js 1.5.0 미만의 버전을 당분간 사용할것을 권고드립니다.
감사합니다.
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?
오늘 여러가지 시도를 해본 결과, caver-js 버전 1.4.1, 1.4,2를 포함해서 1.6.1, 1.6.2 그리고 1.8.1, 1.8.2 전부 위와 동일한 문제가 발생하였습니다.
elliotwoods가 말씀한 "Uncaught ReferenceError: require is not defined"은 직접 webpack을 통해서 caver-js 의 깃허브 공식 리포지토리에 있는 1.41 버전 파일을 npm run build해서 실행보아서 해결하였지만, 마찬가지로 또다시 RPC Error: Internal JSON-RPC error이 떴습니다.
현재 카이카스는 내부적으로 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가 생성되었습니다.
얼마전까지만 해도 caver-js 버전 1.6.2 에서 정상적으로 작동하던 부분이 오류가 생긴 것이라면 라이브러리 자체의 문제라기 보다 카이카스 측의 문제가 아닐까 싶습니다. 이또한 확인부탁드립니다.
즉 결론은 버전 상관없이 같은 에러가 나타나고 있다는 것입니다. 혹은 제가 잘못 생각해서 제대로 작동하는 버전이 있으시다면 알려주시기 바랍니다. 그렇지 않다면 최대한 빨리 수정 부탁드리겠습니다.
klaytn ide는 어떤 방식으로 caver-js을 사용하나요? 카이카스 내장(window.caver)를 사용하나요? klaytn ide는 정상적으로 작동을 하는 것 같아 여쭤봅니다. 감사합니다