Smart Contract inició acciones y costos de gas [duplicado]

¿Es posible que un contrato inteligente inicie acciones por sí solo? (es decir, ¿sin que se reciba un mensaje externo?) Por ejemplo, ¿es posible implementar un sistema de recordatorio basado en contratos inteligentes que envíe notificaciones por correo electrónico basadas en un calendario de eventos futuros? ¿O un contrato inteligente que realiza operaciones de datos una vez cada 24 horas, sin indicaciones externas?

Si es así, ¿de dónde proviene el gas para ejecutar esas operaciones iniciadas por contrato inteligente?

Entonces, si tuviera que crear un contrato inteligente de "recordatorio", en el que las personas enviaran una hora de notificación, una dirección de correo electrónico y un mensaje de texto, se les cobraría gasolina por la llamada para enviar los datos, pero ¿cómo se les podría cobrar la gasolina? necesitaba enviarles el recordatorio un día o más tarde? ¿Puede un contrato inteligente cobrar de más por el gas y guardar ese gas para su uso posterior? ¿Hay otras soluciones?

Gracias por cualquier ayuda en esto.

Respuestas (1)

No. No es posible que un contacto inteligente haga nada a menos que esa acción haya sido iniciada primero por una cuenta externa.

Los contratos inteligentes solo 'hacen algo' cuando se llama a una de sus funciones. Esa 'llamada' puede provenir de otro contrato inteligente, que puede ser de otro contrato inteligente, pero en última instancia, toda la cadena de invocaciones tiene que haber venido de una cuenta externa, y eso significa un ser humano (o algún otro tipo de -proceso en cadena como un script de shell).

Un contrato inteligente nunca se despertará por sí solo e iniciará nada. La razón es la necesidad de que el sistema sea 100% determinista. El concepto de timeen el mundo del EVM es resbaladizo: cualquier minero podría potencialmente manipular su reloj y engañar al contrato inteligente para que se inicie cuando no debería. No hay internal clocken la EVM.