[Решено] Как я могу запросить баланс кошелька или jetton по старому номеру блока?
-
Существует ли метод API для запроса данных в соответствии со старыми блоками? Например, укажите старый номер блока и запросите баланс TON кошелька.
Другим примером может быть запуск средства получения, такого как метод балансировки контракта jetton, в соответствии со старым блоком.
Нужен ли мне для этого архивный узел?
-
Конфигурация по умолчанию для полного узла ton (https://github.com/ton-blockchain/ton/blob/master/validator/validator.h#L95) предназначен для сохранения состояния в течение 1 часа. Данные, связанные с блоком, сохраняются в течение 1 недели. По истечении этого периода оба файла перемещаются в архивный каталог. Каталог архива удаляется через 1 год. Эта конфигурация может быть изменена, и архивные узлы, например, будут развертывать свои узлы с гораздо большими значениями, чтобы пользователи могли запрашивать состояние в любое время в истории.
Чтобы запросить старое состояние (более 1 часа назад) , вам нужно будет использовать узел архива. Используя [TON APIv4](https://github.com/ton - foundation/ton-api-v4), вы можете запросить
GET /block/<seqno>/<адрес>/выполнить/<метод>/<аргументы?>
, который можно использовать сmethod=get_wallet_data
для запроса баланса jetton.В [Toncenter](https://toncenter.com/api/v2 /) например, невозможно запросить метод из старых состояний. Однако вы можете использовать
getTransactions
сarchivable=true
, чтобы получить все транзакции и рассчитать точную сумму для каждого состояния.Транзакции в неархивированных узлах (по умолчанию) будут храниться в течение 1 недели.
-
Используйте TON API https://tonapi.io/docs
И API Uniton - https://api.uniton.app/