이전 블록 번호에서 지갑이나 jetton 잔고를 어떻게 조회할 수 있습니까?

Q1. 이전 블록 번호에서 지갑이나 jetton 잔고를 어떻게 조회할 수 있습니까?

이전 블록들에 대한 데이터를 조회하는 API가 있습니까? 예를 들어, 이전 블록 번호를 구체화한다든지 지갑에 있는 TON 잔고를 조회하는 것입니다. 다른 예시로는 이전 블록 번호에 따른 ‘jetton contract balance method’와 같은 getter를 실행시키는 것입니다.

이를 위한 archive node가 필요합니까?

A1: TON 풀노드 (https://github.com/ton-blockchain/ton/blob/master/validator/validator.h#L95)를 위한 디폴트 형태는 1시간 동안 상태를 지속해야하는 것입니다. 데이터와 연관된 블록들은 1주일동안 지속됩니다. 두 경우 모두 이 기간이 지난 후에 디렉토리로 옮겨져서 보관됩니다. 디렉토리로 옮겨져 보관되는 데이터는 1년 후에 삭제됩니다. 이 형태는 변경될 수 있고 아카이브 노드들은 예를 들어 더 큰 가치로 자신의 노드를 실행시켜서 유저들이 언제나 상태를 조회할 수 있습니다. 이전 상태를 조회하기 위해서는 (1시간보다 더 오래된) archive node가 필요합니다. TON APIv4를 사용하면 GET /block/<seqno>/<address>/run/<method>/<args?> 를 조회할 수 있고 jetton 잔고를 조회하기 위해서는 method=get_wallet_data를 함께 사용하면 됩니다. 예를 들어, Toncenter에서는 이전 상태로부터 조회할 방법이 없습니다. 하지만, getTransactions 를 archival=true 와 함께 사용한다면 모든 트랜잭션을 조회할 수 있고 각 상태에 대한 정확한 수치를 계산할 수 있습니다.

archive node 가 아닌 트랜잭션에 대해선 1주일간 기록이 저장됩니다.

Last updated