특정 블락 넘버에서 balance 정보를 호출했더니 에러를 받았습니다

안녕하세요.

특정 블락 넘버에서 balance 정보를 알고 싶어서 이 문서(https://docs.klaytn.com/bapp/json-rpc/api-references/klay/account#klay_getbalance)를 참고하여 두번째 파라미터에 블락 넘버를 넣어서 호출했더니 아래와 같은 에러 메시지를 받았습니다.

{“jsonrpc”:“2.0”,“id”:1,“error”:{“code”:-32000,“message”:“missing trie node 12ff0579b1915575cc8da1b9c4d7823f34d7f0bb9a6fa32bd4cdbbf228e9c010 (path )”}}

구글링을 해보니 노드 자체가 fast node 라서 그런 것 같은데, 제 경우에는 노드를 kend로 돌리고 있었습니다. kend로 노드를 동작시키면 기본적으로 fast node 설정인것인가요? kend.conf에서는 관련 파라미터를 찾지 못하여 질문드립니다.

그리고 제 노드에서 임의의 블럭에서 balance 정보를 알고 싶다면 어떻게 하면 되는지 가이드를 받을 수 있을까요?

감사합니다!

1개의 좋아요

안녕하세요, 클레이튼 포럼에 질문을 남겨주셔서 감사드립니다.

클레이튼의 경우에는 매 128 블록마다 state정보를 저장하고, 최신 4개의 블록에 대해서 메모리에 state정보를 가지고 있습니다.

따라서, 최신 4개의 블록을 제외하고는 128블록 단위로 balance정보를 조회하실 수 있습니다.

현재 임의의 블록에서 balance를 조회하기 위해서는 노드를 archive node로 동작시켜야 합니다. archive 노드로 동작시키기 위해서는 kend.conf의 SYNCMODE의 값을 아래와 같이 설정하셔야 합니다.

SYNCMODE=“archive”

주의하실 점은, 해당 기능은 노드가 sync되는 시점부터 적용되기 때문에, 이미 sync된 block에 대해서는 매 블록당 조회가 불가능합니다. genesis block부터 모든 블록마다 balance를 조회하기를 원하시면 kend를 genesis 블록부터 다시 sync하셔야 합니다.

감사합니다.

1개의 좋아요

아이고 확인하고 메시지를 남긴다는게 이제 답변 남깁니다.

친절하게 답변주셔서 큰 도움이 됐습니다. :slight_smile:

감사합니다!

1개의 좋아요

안녕하세요.

아래 답변을 추가로 참고 부탁드립니다.

감사합니다.

2개의 좋아요