Есть ли таблица инструкций EVM и их стоимости газа?

Инструкции EVM есть в желтой бумаге, либо они суммированы в этом ответе . Но их затраты на газ не там. Где я могу найти список всех инструкций с их стоимостью попутного газа?

Есть ли обновленная таблица, отражающая изменения цен на газ после EIP158?
Если у вас есть новый вопрос, пожалуйста, задайте его, нажав кнопку Задать вопрос . Включите ссылку на этот вопрос, если это помогает обеспечить контекст. - Из обзора
Вероятно, это не дубликат, так как этот вопрос конкретно касается затрат на газ, о которых не упоминается в другом вопросе.

Ответы (3)

Желтая книга активно поддерживается и всегда должна быть актуальной, и это не так просто, как таблица, но расходы на газ указаны в Приложении G. График платежей и прочитайте его вместе с Приложением H.


Исторически:

Таблица кодов операций и их стоимости газа, с которой был запущен Эфириум, находится здесь .

В нем есть некоторый анализ в соответствии с тем, как была выбрана стоимость газа для инструкций виртуальной машины Ethereum?

Электронная таблица называется 1.0 gas cost, поэтому она может не обновляться.

изменить 2017-12-11: вот версия электронной таблицы EIP-150

Вот небольшой фрагмент из него:

ADD .... 3
MUL .... 5
SUB .... 3
DIV .... 5
SDIV ... 5
MOD .... 5
SMOD ... 5
ADDMOD . 8
MULMOD . 8
Эти данные также (должны быть) доступны в формате исходного кода в приложениях узла.
Спасибо, я пропустил приложение G желтой бумаги, я думал, что только приложение H имеет значение
Обновленная версия таблицы находится здесь: docs.google.com/spreadsheets/d/…
@maurelian Извините, что воскресил это. Как рассчитываются значения для формул с тегами?
@Meshugah, единственные ресурсы, о которых я знаю, находятся справа от этой таблицы или в Приложении H к желтой бумаге. эфириум.github.io/yellowpaper/paper.pdf

Если вы ищете такую ​​таблицу с целью снижения стоимости контрактного газа, я бы порекомендовал вам добавить ее в закладки protocol_params.go.

Это хорошо по двум причинам:

  1. Это источник истины. Стоимость газа, указанная в этом файле, — это то, что действительно измеряет полный узел.
  2. В нем перечислены важные номера, которые вам действительно нужны. Например, обычная газовая таблица не показывает, как работает стоимость хранения, и они мало что говорят вам о предварительно скомпилированных контрактах.

https://github.com/ethereum/go-ethereum/blob/master/params/protocol_params.go

Есть много справочных веб-сайтов для опкодов EVM:

Мой любимый — evm.codes :

Скриншот evm.codes