Как найти пакет Arbitrum по номеру дочернего блока

Один родительский пакет может включать много дочерних блоков. Чтобы по высоте из обращения пользователя найти родительскую публикацию, сначала определите пакет.

Запросите номер пакета у дочерней ноды

В CHILD_BLOCK укажите числовую высоту дочерней цепочки, в CHILD_RPC — её Nitro RPC. Foundry cast вызывает NodeInterface, доступный через RPC. Сохраните возвращённое число и идентификатор дочерней сети.

cast call 0x00000000000000000000000000000000000000C8 \
  "findBatchContainingBlock(uint64)(uint64)" "$CHILD_BLOCK" --rpc-url "$CHILD_RPC"

Если блок 42000 относится к пакету 91, найдите пакет 91 в записях настроенного родительского SequencerInbox. Число 91 — ID пакета, а не высота родителя или индекс дочерней транзакции.

Учтите блок до публикации

Свежий блок может быть виден через секвенсор до появления у ноды привязки к опубликованному пакету. Ошибка также возможна при отсутствии исторического индекса или обращении не к той ноде. Проверьте прогресс и публикации до вывода об отброшенном блоке. github.com Arbitrum documentation