Как разделить газ исполнения Arbitrum и компонент родительских данных

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

Запросите компоненты оценки у NodeInterface

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

gasEstimate = 150000
gasEstimateForL1 = 40000
child execution estimate = 110000

Вычтите второе значение из первого, как в примере, и получите оценку исполнения. Для стоимости родительской части в минимальной единице нативной валюты умножьте этот компонент на дочернюю цену газа, использованную в оценке.

Сравнивайте сопоставимые замеры

Изменение цены дочернего газа меняет пересчёт родительской платы в единицы газа даже при прежней calldata. Сохраняйте цену и компоненты из одного контекста. Это предварительная оценка, а фактическая квитанция появляется после включения. docs.arbitrum.io Arbitrum documentation