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

**URL:** <https://devforum.kaia.io/t/topic/2747>\
**Category:** Caver\
**Tags:** caver-js, smart-contract, klaytn\
**Created:** [12월 10, 2021, 6:31오전 UTC](https://devforum.kaia.io/t/topic/2747 "2021-12-10T06:31:34Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![TalibKweli](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/talibkweli/32/1305_2.png) [@TalibKweli](https://devforum.kaia.io/u/TalibKweli)\
**Post date:** [12월 10, 2021, 6:31오전 UTC](https://devforum.kaia.io/t/topic/2747/1 "2021-12-10T06:31:34Z")

</div>

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

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

```auto
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  
이러한 에러를 받고 있습니다.

의견 부탁드립니다

---

<div class="post-metadata">

**Author:** ![Jamie](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/jamie/32/1472_2.png) [@Jamie](https://devforum.kaia.io/u/Jamie)\
**Post date:** [12월 13, 2021, 12:12오전 UTC](https://devforum.kaia.io/t/topic/2747/2 "2021-12-13T00:12:48Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![TalibKweli](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/talibkweli/32/1305_2.png) [@TalibKweli](https://devforum.kaia.io/u/TalibKweli)\
**Post date:** [12월 13, 2021, 4:25오전 UTC](https://devforum.kaia.io/t/topic/2747/3 "2021-12-13T04:25:18Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Jamie](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/jamie/32/1472_2.png) [@Jamie](https://devforum.kaia.io/u/Jamie)\
**Post date:** [12월 13, 2021, 4:38오전 UTC](https://devforum.kaia.io/t/topic/2747/4 "2021-12-13T04:38:17Z")

</div>

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