¿Cuál es el tamaño del código de bytes almacenado en el EVM?

En general, ¿cuál es el tamaño del código de bytes almacenado en el EVM? Me refiero al valor promedio aproximado o el código de bytes de un programa hello world simple (configuración y obtención de una cadena). ¿De qué factores depende este código de bytes? y sobre cómo puedo hacer esto correctamente. Quiero decir ¿Cómo puedo saber el valor correcto? ¿Hay alguna palabra clave o comando predefinido que brinde esta información?

¡Cualquier respuesta relacionada es apreciable!

Respuestas (2)

Me refiero al valor promedio aproximado o el código de bytes de un programa hello world simple (configuración y obtención de una cadena).

No conozco a nadie que rastree estas estadísticas, tendrá que calcularlas usted mismo. El contrato puede variar mucho en tamaño.

¿De qué factores depende este código de bytes?

Es más o menos directamente proporcional a la longitud de su código fuente, aunque las ejecuciones de optimización pueden hacer que el tamaño compilado se desvíe de una relación puramente lineal.

y sobre cómo puedo hacer esto correctamente. Quiero decir ¿Cómo puedo saber el valor correcto? ¿Hay alguna palabra clave o comando predefinido que brinde esta información?

La eth_getCodefunción le permite recuperar el código de bytes en una dirección determinada.

Si observa la red principal de Ethereum, a fines de septiembre (la última vez que procesé contratos y direcciones para estadísticas):

  • Hay aproximadamente 125.000 contratos únicos, muchos más si cuenta los duplicados
  • La mayoría de los contratos van desde unos pocos cientos de bytes (generalmente unos pocos Kb) hasta casi 25 Kb para el contrato activo más grande

No puedo opinar sobre redes de prueba, redes privadas (¡por supuesto!) u otras bifurcaciones de Ethereum.