Límite de gas peligrosamente alto

Cuando traté de enviar ether a mi contrato, aparece este error. Incluso si intenta cambiar el valor de Gas Limity Gas Pricela transacción sigue fallando. ¿Cuál puede ser la posible razón?

Lo que especulo es que el método de pago alternativo es un poco complejo y que requiere una gran cantidad de combustible para impulsar esa transacción.

Límite de gas peligrosamente alto

No hay forma de saber por qué el límite de gas estimado es tan alto sin ver su código de función pyae. El precio real del gas es irrelevante.
Curiosamente, este error aparece solo cuando realizo una llamada de método desde el método de pago alternativo.

Respuestas (2)

Consulte https://bitcoin.stackexchange.com/questions/39132/what-is-gas-limit-in-ethereum

Además, los bloques también tienen un campo llamado límite de gas. Define la cantidad máxima de gas que pueden consumir todas las transacciones en todo el bloque combinado.

Entonces, como supone, la transacción podría ser demasiado compleja.

guau muchas gracias Como estaba en el intercambio de pila de bitcoin, no pude encontrar la respuesta aquí.

Volver a publicar una respuesta de bitcoin stackexchange. Gracias a Lukasz Zuchowski

En Ethereum, el gas es una medida del esfuerzo computacional. A cada operación se le asigna una cantidad fija de gas (por ejemplo, sumar dos números cuesta 3 gas, calcular un hash cuesta 30 gas, enviar una transacción cuesta 21000 gas [1]).

Dado que el cálculo es costoso (tenga en cuenta que debe ser realizado por cada nodo completo de la red), se debe desalentar el consumo excesivo de gas. Por lo tanto, cada unidad de gas debe ser pagada (en Ether) por el remitente de la transacción que desencadenó el cómputo.

Desafortunadamente, a menudo no es fácil y, en general, incluso imposible saber de antemano cuánto gas necesitará una transacción eventualmente. Por lo tanto, las transacciones tienen un campo de límite de gas para especificar la cantidad máxima de gas que el remitente está dispuesto a comprar. Si el gas utilizado supera este límite durante la ejecución, se detiene el procesamiento. El remitente aún tiene que pagar por el cálculo realizado, pero está protegido contra quedarse sin fondos.

El límite de gas de transacción también protege los nodos completos de los atacantes, que podrían, sin un límite de gas, hacer que ejecuten bucles infinitos efectivos. Si una transacción de este tipo tardara más de un bloque en procesarse, nunca podría incluirse en un bloque y, por lo tanto, el atacante no tendría que pagar por ella. [2]

Además, los bloques también tienen un campo llamado límite de gas. Define la cantidad máxima de gas que pueden consumir todas las transacciones en todo el bloque combinado. Similar al tamaño máximo de bloque en Bitcoin (medido en bytes), su propósito es mantener bajo el tiempo de propagación y procesamiento de bloques, lo que permite una red suficientemente descentralizada. A diferencia de Bitcoin, sin embargo, no es una constante. En cambio, los mineros tienen la opción de aumentar o disminuir cada bloque por un factor determinado. [3]

[1] Ver el Libro Amarillo para un desglose de las operaciones y los respectivos costos de gas (Apéndices G y H)

[2] https://github.com/ethereum/wiki/wiki/Design-Rationale#gas-and-fees

[3] Consulte las Ecuaciones 40 a 42 del Libro Amarillo para conocer las reglas exactas.