Contrato inteligente: ¡Advertencia! la ejecución del contrato experimentó un error y obtiene [Revertido]

He enviado ropsten ETH a mi dirección de contrato recién creada (todavía en modo de prueba en la red Ropsten Test). Desafortunadamente, siguió "fallando". La cadena de bloques informa: ¡Advertencia! Error encontrado durante la ejecución del contrato [Revertido]

Consulte la dirección de mi contrato y los errores de transacción aquí: https://ropsten.etherscan.io/address/0xe7a6fbf8a93e6c879907e0404881840a05978745

Empleé las funciones de interacción de myetherwallet, interactué y consulté mi contrato inteligente para totalSupply, CurrentDistribPublicSupply, OwnerDistribSupply_ y otros. Todo parece estar en orden y cuadra. Así que estoy súper confundido y bastante preocupado. Por favor alguien que me ayude y me explique que estoy haciendo mal? Se agradecería todo tipo de ayuda y corrección. Gracias.Una descripción pictórica de mi contrato ya implementado en modo de lectura

Parece que se está quedando sin gasolina. ¿Intentó enviar más gasolina con su transacción? Gas de 90k no es mucho si tu contrato es complejo.
Gracias Ismael por tu interés en mi problema. Sí, he implementado el mismo contrato con otra dirección de contrato. Usé gasolina de 250k, todavía fallé. Por favor, ayude a revisar el código de mi contrato, todos los errores de solidez ya se han resuelto, la implementación del contrato se realizó correctamente. Mi contrato está diseñado para dar tokens para Eth.

Respuestas (2)

Lo más probable es que te encuentres con una revert()de tus funciones de respaldo. Depúralo con Remix. Se recomienda usar require()en su lugar, ya que esto revertirá el cambio de estado automáticamente, si la condición interna no se cumple true.

Entonces, para asegurarse de que se cumpla una condición, puede hacerlo require ( 2 == 2)y, si eso falla, es mucho más fácil de descubrir al seguir los pasos de ejecución con el depurador de Remix que al ver en qué condición saltó a una reversión.

Nikita gracias, en realidad remix sugirió eso, acabo de encontrar una manera de pasar por alto. Seguramente intentaré esto y te daré una respuesta inmediata. Muchas gracias.
Hola Nikita, apliqué tu sugerencia y el contrato ahora recibe ETH en la prueba de ropsten. Realmente aprecio la ayuda. Muchas gracias
gracias, puedes marcar mi respuesta como la solución aceptada, por favor! ;)

La función de recuperación solo es adecuada para operaciones básicas. https://solidity.readthedocs.io/en/v0.4.24/contracts.html?#fallback-function

Gracias Siid por eso. Francamente, no soy un súper programador, al menos no todavía. Pero después de revisar el documento, mi razonamiento intuitivo entiende que me aconseja que elimine la función de respaldo. Finalmente, no sé, ¿sugeriría que al incluir datos al intentar enviar ETH al contrato, se puede omitir la función de reversión? Especialmente con la presencia de una función alternativa en mi código. gracias por tu diligencia