Перейти к содержанию

Комиссии L2: стоимость исполнения и данных

При переносе публикации в L2 редакция хочет понять полную стоимость действия. Умножение использованного газа на одну цену не всегда описывает весь платёж. В уроке разберём отдельные компоненты на примере архитектуры OP Stack и подготовим собственную модель сметы для курса 17.

Все числа ниже условные и выбраны для арифметического объяснения. Они не являются текущими тарифами, измерением сети или рекомендацией покупки валюты. Документация изучена 12 октября 2026 года; действующая формула зависит от конкретной сети и активных обновлений.

Газ исполнения

Исполнение EVM требует газа. Для операции библиотеки этот расход связан с выполненным кодом и изменением состояния. Цена единицы газа выражается в нативных единицах сети. Расход и цена — разные величины: одинаковая логика может иметь похожий объём исполнения, но разную итоговую стоимость при других сетевых условиях.

Предел газа, установленный при отправке, также отличается от фактически использованного количества. Его роль — ограничить допустимое исполнение и участвовать в предварительном обеспечении операции. Нельзя автоматически выдавать произведение максимального лимита и максимальной цены за окончательный платёж. После исполнения следует использовать соответствующие фактические сведения и правила сети.

Для собственного условного примера примем расход 60 000 единиц и цену 2 gwei за единицу. Компонент исполнения тогда составляет 120 000 gwei. Это арифметический результат принятой модели, не значение receipt настоящей публикации.

Данные для базового слоя

Rollup должен оплачивать предусмотренную публикацию данных или связанные действия в базовом слое. В OP Stack существует отдельный компонент L1 Data Fee, который нельзя заменить одним L2 gasUsed. Его расчёт зависит от формата и активного обновления, включая предусмотренные параметры и оценку сжатия.

У двух операций с похожим исполнением может различаться объём передаваемых данных. Поэтому длинная полезная нагрузка способна менять этот компонент иначе, чем чистый расход вычисления. Для нашего реестра хранение короткого обязательства отличается от отправки длинного текста. Это ещё один практический аргумент сохранять материалы вне контракта, хотя окончательная архитектура определяется не только экономией.

Нельзя вычислить универсальный L1-компонент по длине видимой строки JSON. Реальная сериализация, сжатие и сетевой профиль имеют значение. Смета получает предусмотренную оценку выбранного клиента или контракта и сохраняет её контекст; она не придумывает точную сумму из декоративного размера сообщения.

Операторский компонент

Текущая документация OP Stack описывает operator fee, введённую обновлением Isthmus и изменённую Jovian. Это показывает, почему правило «комиссия L2 всегда состоит ровно из двух частей» устаревает. Для конкретной сети нужно узнать активный профиль и значения параметров, а не применить любое название обновления из статьи.

В досье библиотеки сохраняем состав комиссии и источник оценки. Если в выбранной сети дополнительный компонент отсутствует или равен нулю по её правилам, это устанавливается конфигурацией. Нельзя молча сделать его нулевым только ради простого примера. Также отдельные классы операций могут иметь другие правила, которые изучаются по своей документации.

Наш учебный расчёт не переносит реальные параметры форка. Он принимает уже оценённые компоненты как входы и показывает их суммирование. Это позволяет понять единицы и пределы, не выдавая неподтверждённую самостоятельную реализацию всей сетевой формулы.

Целочисленная смета

Возьмём 120 000 gwei за исполнение, 50 000 gwei за данные и 1 000 gwei дополнительного компонента. Общая условная сумма равна 171 000 gwei, то есть 171 000 000 000 000 wei. Суммы сохраняются целыми; форматирование для человека происходит после расчёта.

// Самостоятельная арифметическая модель; сеть не вызывается.
const gwei = 1_000_000_000n;
const executionWei = 120_000n * gwei;
const dataWei = 50_000n * gwei;
const operatorWei = 1_000n * gwei;
const totalWei = executionWei + dataWei + operatorWei;

Код использует bigint, чтобы не смешивать нативные единицы с десятичными округлениями интерфейса. Переменные называют единицу прямо. В реальном адаптере входы получают из соответствующей оценки, а не оставляют константами этого учебного расчёта. Программа здесь не исполнялась.

Предварительная оценка и итог

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

После включения итоговые сведения относятся к конкретной операции. Если вызов завершился отказом, стоимость исполненного действия всё равно нужно понимать по правилам сети. Успешный редакционный результат и понесённая комиссия — разные поля журнала. Отказ публикации не означает автоматическую бесплатность попытки.

Для кошелька требуется достаточное обеспечение предусмотренных максимальных компонентов. Отображаемая ожидаемая стоимость не всегда равна необходимому доступному балансу до отправки. Досье поэтому различает оценку результата и требования предварительного обеспечения, избегая одной двусмысленной строки «нужно столько».

В отчёт по расходам входит также идентичность нативной единицы выбранной сети. Надпись ETH сама по себе не объединяет балансы и историю между размещениями. Если стоимость нескольких операций суммируется для редактора, сначала сохраняют их сетевой контекст и назначение, затем выбирают допустимый способ отображения. Пересчёт в обычную валюту потребовал бы отдельного источника курса и времени оценки; он не следует из receipt. В нашем примере такого источника нет. Поэтому итог остаётся в целых нативных единицах и сопровождается явной пометкой об условных входах.

Изменить только содержание сообщения

Представим, что редактор сохранил ту же операцию публикации, но добавил длинные вспомогательные данные в отдельный межсетевой запрос. Его исполнение и данные оцениваются по новому маршруту. Нельзя переносить смету короткого publish на сообщение моста только потому, что оба относятся к курсу 17.

Если же изменилась исключительно внешняя HTML-страница, а обязательство в контракте сохраняет такой же фиксированный размер поля, прежняя архитектурная форма вызова остаётся короткой. Точная комиссия всё равно зависит от фактических входов и сетевого профиля. Мы не обещаем постоянную сумму на годы вперёд из одного выбранного размера хеша.

Результат урока — целочисленная модель компонентов, связь сметы с действием и правила отчёта по факту исполнения. Действующие механизмы описаны в первичной документации комиссий OP Stack. Ни оценки RPC, ни отправки, ни вычисления текущей цены в рамках написания не проводились. Следующая глава закрепит конфигурацию двух экземпляров, чтобы стоимость и действие не перепутались между сетями.

Оглавление серии