Contract 인스턴스를 생성 후 메소드를 실행 시 address가 존재하지 않는다 합니다

Uncaught (in promise) Error: This contract object doesn’t have address set yet, please set an address first.
at Object._processExecuteArguments (index.js:1424:1)
at Object._executeMethod (index.js:1455:1)
at Module.getKaikas (CustomCaver.js:62:1)

위와 같은 에러가 뜨는데요.

컨트랙트 인스턴스를 확인해보면,
image
위와같이 Option의 하단의 default값에 deployed address 값이 들어가 있고,
address의 값은 비어있는 상태입니다.

컨트랙트 인스턴스를 생성할 때

contract = new cav.klay.Contract(DEPLOYED_ABI, DEPLOYED_ADDRESS);

이와 같이 생성했는데 혹시 추가해야할 정보가 필요한가요?

해당 정보만으로 판단하기 어려운 부분이 있습니다.

먼저 컨트랙트 인스턴스를 생성하는 방법은 다음과 같습니다.

caver.contract.create(/* ABI */, /* ADRESS */);

이렇게 생성하신다음 함수를 호출해보시고

그래도 안된다면 조금더 상세한 코드를 공유하여 코멘트를 달아주시면 감사하겠습니다.

그리고 caver.klay 프로퍼티는 deprecated 되었습니다.

address가 제대로 전달되지 않아 생겼던 문제였습니다.
deprecated 정보는 감사합니다 :slight_smile: