Consumo máximo de gas de llamar a un método de contrato

Quiero evaluar el consumo máximo de gas (límite mínimo seguro de gas que no fallará) que consumiría llamar a un método de contrato específico dado que tengo el código fuente/código de byte del contrato .

Recuerdo que hace unos meses vi un sitio web donde puedes ingresar el código de solidez y calcula la cantidad de gas que consumiría este código, pero no puedo encontrar este sitio web en ningún lado.

Solo para aclarar: sé que hay un método en la API que puede estimar el consumo de gas de la transacción, que es solo una estimación, ya que se basa en las variables que pueden cambiar (como el número de bloque, etc.) , pero estoy hablando de máximo consumo de gas Dado que se conoce el código fuente del contrato/código de bytes.

¿Hay alguna web que calcule esto?

ACTUALIZAR CON CASO DE USO:

Para el contrato de EtherDelta ( enlace ), ¿cómo puedo determinar cuál sería el consumo máximo de gas posible para llamar a un método específico (por ejemplo, el método 'aprobar'), de modo que pueda decir cuál es el límite mínimo seguro de gas que nunca fallaría?

Respuestas (2)

Creo que puede estar aludiendo al compilador de remixes en línea para Solidity. Esto le permitirá ver fácilmente cuánto gas necesitará/gastó una transacción para una función.

Si ejecuta una función de cambio de estado, inspeccione los detalles de la transacción y obtendrá más información. Por favor, vea el ejemplo a continuación:

ingrese la descripción de la imagen aquí

Aquí podemos ver trasaction cost& execution cost. Todo lo que necesitas. Espero que esto ayude.

¡gracias! Creo que eso es exactamente lo que estaba buscando. Edité mi publicación original y agregué un caso de uso específico justo antes de ver su respuesta. Para entender, en caso de que el gas consumido al llamar a un método cambie dependiendo de ciertas condiciones, ¿hay alguna manera de verificar el gas máximo consumido? Suponga que el método dice: si antes del número de bloque X, haga A (que consumiría 100000 gas) y si después del bloque número X hacer B (que consumiría 150000 gas)?
Genial, ¿quieres marcar la pregunta como respondida para que otros usuarios la sepan? Para probar ese caso exacto, vería la creación manual de bloques mediante el envío de muchas transacciones o cambiaría el Environmentutilizado para tener su propio proveedor, es decir Injected Web3. De esta forma podrás controlar con mayor precisión en cuántos bloques te encuentras. Debería poder probar block heightlas condiciones más fácilmente de esta manera.

Según la pregunta a la que se vinculó, el estimateGasmétodo RPC es completamente preciso, aparte de las cosas que pueden cambiar entre el momento en que realiza la estimación y el momento en que se procesa la transacción. Si el gas utilizado en el contrato al que está llamando no varía según tales cosas (p. ej., otras transacciones enviadas, el número de bloque/hash, etc.), le estimateGasdará un número exacto y correcto.

Tener el código fuente no ayuda aquí excepto para su propia comprensión; preferiría usar el código de bytes de todos modos.

Quise decir inexacto en el sentido de que depende de esas otras cosas, como el número de bloque, etc., que no se conocen de antemano. Estoy de acuerdo en que no está muy claro en mi publicación :) Lo edité para hacerlo más claro y agregué un específico caso de uso
Veo. No conozco ninguna herramienta que ofrezca ese tipo de análisis.