Как учесть плату за blob gas в транзакции Ethereum
Публикация пакета rollup расходует два вида газа. Если перемножить только газ исполнения и его цену, расходы на blob-транзакцию окажутся занижены.
Сложите две части комиссии
Для квитанции типа 3 переведите значения в целые числа. Допустим, исполнение потребовало 50 000 газа по 10 gwei, а один blob — 131 072 единицы blob gas по 2 wei.
fee = gasUsed × effectiveGasPrice + blobGasUsed × blobGasPrice
50000 × 10000000000 + 131072 × 2 = 500000000262144
Итого получится 500 000 000 262 144 wei. Лимит цены blob gas в подписанной транзакции показывает допустимый для отправителя максимум. Для отчёта берите цену, фактически применённую в блоке.
Отделите стоимость от доступности данных
В теле транзакции указаны версионированные хеши, связанные с обязательствами для blob. Получив транзакцию через execution RPC, вы узнаете эти идентификаторы. Для получения содержимого нужен источник, который ещё хранит соответствующий blob. eips.ethereum.org EIP-4844