Какие данные брать из blob-транзакции batcher после Ecotone
Blob-транзакция может иметь собственную calldata. Если обработчик derivation прочитает оба источника, он способен добавить кадры, которых протокол не использовал.
Выберите источник по типу транзакции
После проверки принадлежности транзакции batcher определите форк и тип. По правилам Ecotone подходящая транзакция типа 3 предоставляет данные blob; её calldata при этом не используется для получения пакетов.
transaction type: 0x03
calldata: nonempty
blob hashes: H0, H1
Для примера загрузите blob с хешами H0 и H1, проверьте соответствие заявленным версионированным хешам и обработайте допустимые payload в установленном порядке. Добавление calldata перед ними исказит поток.
Различайте отсутствие данных и пустой пакет
Локальный источник beacon-данных может больше не хранить старый sidecar. Зафиксируйте недостающий хеш и получите исторический blob до выводов о составе пакета. Обычный ответ execution RPC о блоке не несёт содержимого blob. specs.optimism.io OP Stack specification