[Решено] Почему здесь API TonCenter работает с ошибкой?
-
https://toncenter.com/api/v2/getTransactions?address=UQCzwxqIw1pt41DND9pgGfAOhJKtQQEgjVcpn0rHxv-4b8Ob&limit=1<=23481826000001&hash=OBInamdujxrUx%2Fqebnhix%2FAL%2BWEgQaSEssZrGgLhAZo%3D&to_lt=0&archival=true /getTransactions method above returns me 1 transaction with utime 1638465564
https://toncenter.com/api/v2/lookupBlock ?workchain=-1&shard=-9223372036854775808&unixtime=1638465564 /Приведенный выше метод lookupBlock указывает мне на номер блока 16512830
https://toncenter.com/api/v2/getBlockTransactions ?workchain=-1&shard=-9223372036854775808&seqno=16512830 /getBlockTransactions для блока с номером 16512830 возвращает мне несколько транзакций, но ни у одной из них нет такого же логического времени, как у исходного, заданного методу /getTransactions. Это ожидаемое поведение или я что-то упускаю? Что такое параметр "count" в /getBlockTransactions? Похоже, это вообще не возымело никакого эффекта.
Этот вопрос был импортирован из чата Telegram:***Скрыто***
click to show
-
Похоже, что первоначальная транзакция, запрошенная через
/getTransactions
, отсутствует в masterchain (workchain=-1). Вы можете попробовать использовать/getBlockTransactions
для поиска транзакции в базовой цепочке (workchain=0).Сначала используйте
/lookupBlock
, чтобы найти номер блока, соответствующий времени транзакции в Unix, а затем используйте/getBlockTransactions
для поиска транзакции в блоке с соответствующим порядковым номером в каждом сегменте.В упомянутом конкретном случае транзакция была найдена в базовой цепочке
(workchain=0, shard=-9223372036854775808, seqno=21407484)
. Стоит отметить, что мастерчейн и базовая цепочка являются отдельными блокчейнами в экосистеме TON, и не все транзакции будут проходить в мастерчейне.Кроме того, что касается вопроса о том, почему в мастерчейне есть только один сегмент для любого seqno, это связано с тем, что мастерчейн имеет только один сегмент, в то время как базовая цепь имеет несколько сегментов.