[Решено] Понимание поведения конечных точек TON API и параметра "count"
-
Я использую TON API для извлечения данных транзакций, и я заметил некоторые несоответствия при использовании методов
/getTransactions
,/lookupBlock
и/getBlockTransactions
.Метод
/getTransactions
возвращает транзакцию с определенным временем выполнения, но когда я просматриваю блок, используя/lookupBlock
, а затем извлекаю транзакции, используя/getBlockTransactions
, я не могу найти ни одной транзакции с тем же логическим временем.Является ли это ожидаемым поведением, или я что-то упускаю?
Кроме того, я хотел бы знать назначение параметра "count" в методе
/getBlockTransactions
, поскольку это, по-видимому, никак не влияет на результаты.Этот вопрос был импортирован из чата Telegram: > <***Скрыто***
click to show
-
Расхождения, с которыми вы сталкиваетесь с конечными точками TON API, могут быть вызваны запросом неверной рабочей цепочки. Адрес
UQCzwxqIw1pt41DND9pgGfAOhJKtQQEgjVcpn0rHxv-4b8Ob
находится в базовой цепочке (workchain=0), но вы ищете транзакции в мастер-цепочке (workchain=-1).Чтобы найти правильную транзакцию, выполните следующие действия:
-
Запросите конечную точку /getBlockTransactions с правильными значениями workchain (workchain=0) и shard (-9223372036854775808):
Этот запрос должен вернуть требуемую транзакцию.
-
Если вы по-прежнему не можете найти транзакцию, извлеките все сегменты для найденного вами блока, используя конечную точку /shards:
Затем для найденного вами блока и для каждого фрагмента получите список транзакций. Вы должны найти свою транзакцию в блоке со следующими параметрами: workchain=0, shard=
-9223372036854775808
и seqno=21407484
.Запрашивая правильную рабочую цепочку и сегмент, вы должны быть в состоянии найти транзакцию с тем же логическим временем, которое изначально было задано методу
/getTransactions
. -