Caver을 사용해서 erc20컨트랙트와 상호작용이 가능한가요?

async function token() {
  const kip7 = caver.kct.kip7.create(
    "0x9c8125b34214e74922f82be05781c9fd2fc2b29c"
  );
  console.log(
    await kip7.balanceOf("0x0b87345c013affe164aac27f85aa694c225a38fe")
  );
}

이렇게 caver로 생성된 계정에 특정 컨트랙트의 balance를 가져오는 함수를 실행해보면
kip-7 기반 토큰은 정상작동 하고 ERC20 기반 토큰은 오류가 나고있습니다 ㅠ

  • 오류메세지
Error: Returned values aren't valid, did it run Out of Gas? You might also see this error if you are not using the correct ABI for the contract you are retrieving data from, requesting data from a block number that does not exist, or querying a node which is not fully synced.

컨트랙을 명확하게 알 수 없지만, erc20과 kip7은 크게 다르지 않습니다.
또한 해당 주소 컨트랙 바탕으로 바오밥에서 동일한 코드 수행시 동작함을 확인할 수 있습니다.
혹시 컨트랙이 배포되지않은 네트워크상에서 돌리고 있으신건 아닌가요?

1개의 좋아요

안녕하세요. 답변 감사합니다!
jsonRPC 문제로 안됬던것 같은데
caver에서 infura jsonRPC를 세팅하는 방법이 있을까요??

infura 서비스가 제공되지는 않습니다만,
안정적인 jsonRPC 서비스를 위해서라면 Klaytn API Service를 사용하시는 것이 좋을 것 같습니다.