특정 블록에서의 컨트랙트 펑션 결과를 조회할 수 있을까요?

안녕하세요,
컨트랙트 주소와, abi 를 모두 알고 있다는 전제하에,
cypress에 배포한 컨트랙트의 펑션의 특정 블록(시점)의 결과를 확인/조회할 수 있을까요?

https://ko.docs.klaytn.com/bapp/sdk/caver-js/v1.4.1/api-references/caver.klay.abi#encodefunctioncall
caver 공식문서를 참고하여 아래와 같은 방식으로 가능할까 싶었는데 에러가 납니다.
abi의 펑션이름을 제외한 테스트 코드는 아래와 같습니다.

const methodHash = await caver.abi.encodeFunctionCall({
  inputs: [],
  name: "fakeName",
  outputs: [
    {
      internalType: "uint256",
      name: "",
      type: "uint256",
    },
  ],
  stateMutability: "view",
  type: "function",
})
console.log({methodHash})
const fakeResult = await caver.klay.call({to: contractAddress,input:methodHash},1637244327)
console.log({fakeResult})

VM error occurs while running smart contract
이러한 에러를 받고 있습니다.

의견 부탁드립니다

안녕하세요
문법에는 문제가 없어 보이는데요, 블록번호를 없이 호출해도 에러가 발생하나요?

답변감사합니다. blockNumber 없이 호출시 현재 값이 정상적으로 출력됩니다.
그러나 과거의 블록넘버를 같이 입력 시,
missing trie node ec17eade3deac4d2ef89bd09ae0c6351b154f5c1779e4a4ae375b09746fbd03f (path )
위와 같은 에러를 받고 있습니다. 어떤 문제일까요?

호출대상이 되는 노드가 해당 블록의 데이터를 가지고 있지 않은 경우인 것 같은데요,
모든 데이터를 가지고 있는 아카이브 노드를 사용하여 호출을 해야할 것 같습니다.
위 방법으로도 해결이안된다면 Klaytn 카테고리로 다시 질문 올려 주시면 더 빠른 답변 받으실 수 있을 것 같습니다.

1개의 좋아요