¿Hay una tabla de instrucciones de EVM y sus costos de gas?

Las instrucciones de EVM están en el papel amarillo, o se resumen en esta respuesta . Pero sus costos de gas no están allí. ¿Dónde puedo encontrar una lista de todas las instrucciones con sus costos de gas asociados?

¿Hay una tabla actualizada que refleje los cambios en el precio del gas después de EIP158?
Si tiene una nueva pregunta, hágala haciendo clic en el botón Preguntar . Incluya un enlace a esta pregunta si ayuda a proporcionar contexto. - De la revisión
Probablemente no sea un duplicado, ya que esta pregunta pregunta específicamente sobre los costos de gasolina, que la otra pregunta no menciona.

Respuestas (3)

El Libro Amarillo se mantiene activamente y siempre debe estar actualizado, y no es tan fácil como una tabla, pero los costos de la gasolina están en el Apéndice G. Programa de tarifas y léalo con el Apéndice H.


Históricamente:

Una hoja de cálculo de códigos de operación y sus costos de gas con los que se lanzó Ethereum están aquí .

Tiene un análisis de ¿Cómo se eligieron los costos de gas para las instrucciones de la máquina virtual Ethereum?

La hoja de cálculo se titula Costos de gas 1.0, por lo que es posible que no se actualice.

edición 2017-12-11: aquí está la revisión EIP-150 de la hoja de cálculo

Aquí hay un pequeño fragmento de él:

ADD .... 3
MUL .... 5
SUB .... 3
DIV .... 5
SDIV ... 5
MOD .... 5
SMOD ... 5
ADDMOD . 8
MULMOD . 8
Estos datos también están (tienen que estar) disponibles en formato de código fuente en aplicaciones de nodos.
Gracias, me perdí el apéndice G del papel amarillo, pensé que solo el apéndice H era relevante
Una versión actualizada de la hoja de cálculo está aquí: docs.google.com/spreadsheets/d/…
@maurelian Perdón por resucitar esto. ¿Cómo se calculan los valores de las fórmulas etiquetadas?
@Meshugah, los únicos recursos que conozco están en el lado derecho de esa tabla, o en el Apéndice H del papel amarillo. ethereum.github.io/yellowpaper/paper.pdf

Si está buscando una tabla de este tipo con el fin de reducir el costo del contrato de gas, le recomiendo que marque como favorito protocol_params.go.

Es bueno por dos razones:

  1. Es la fuente de la verdad. Los costos de gas especificados en ese archivo son lo que realmente mide un nodo completo.
  2. Enumera los números importantes que realmente necesita. Por ejemplo, la tabla de gas habitual no muestra cómo funciona el costo de almacenamiento y no le dice mucho sobre los contratos precompilados.

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

Hay muchos sitios web de referencia para códigos de operación EVM:

Mi favorito es evm.codes :

Captura de pantalla de evm.codes