Smart Contract initiierte Aktionen und Gaskosten [Duplikat]

Ist es möglich, dass ein Smart Contract selbst Aktionen initiiert? (d. h. ohne dass eine externe Nachricht empfangen wird?) Ist es beispielsweise möglich, ein Smart-Contract-basiertes Erinnerungssystem zu implementieren, das E-Mail-Benachrichtigungen basierend auf einem Kalender zukünftiger Ereignisse sendet? Oder ein Smart Contract, der Datenoperationen alle 24 Stunden ohne Aufforderung von außen durchführt?

Wenn ja, woher kommt das Gas, um diese Smart-Contract-initiierten Operationen auszuführen?

Wenn ich also einen intelligenten „Erinnerungsvertrag“ erstellen würde, bei dem die Leute eine Benachrichtigungszeit, eine E-Mail-Adresse und eine Textnachricht einreichen, würde ihnen der Anruf zum Senden der Daten in Rechnung gestellt, aber wie könnte ihnen das Gas in Rechnung gestellt werden? Müssen Sie ihnen die Erinnerung einen Tag oder später senden? Kann ein intelligenter Vertrag Gas überladen und dieses Gas für die spätere Nutzung selbst speichern? Gibt es noch andere Lösungen?

Vielen Dank für jede Hilfe dabei.

Antworten (1)

Nein. Ein intelligenter Kontakt kann nichts tun, es sei denn, diese Aktion wurde zuerst von einem externen Konto initiiert.

Smart Contracts „tun etwas“, wenn eine ihrer Funktionen aufgerufen wird. Dieser „Anruf“ kann von einem anderen Smart Contract stammen, der wiederum von einem weiteren Smart Contract stammen kann, aber letztendlich muss die gesamte Aufrufkette von einem externen Konto stammen – und das bedeutet von einem Menschen (oder einer anderen Art von Off -chain-Prozess wie ein Shell-Skript).

Ein intelligenter Vertrag wird niemals von selbst aufwachen und irgendetwas initiieren. Der Grund ist die Notwendigkeit, dass das System zu 100 % deterministisch ist. Das Konzept timein der Welt der EVM ist schlüpfrig – jeder Miner könnte möglicherweise seine Uhr manipulieren und den Smart Contract dazu bringen, zu starten, wenn er es nicht sollte. internal clockIn der EVM gibt es keine .