Folgendes sagt die Ethereum-Dokumentation von Oraclize :
Erstens wird im häufigsten Fall eine Transaktion, die eine Funktion eines Smart Contracts ausführt, von einem Benutzer übertragen. Die Funktion enthält eine spezielle Anweisung, die Oraclize, die die Ethereum-Blockchain ständig auf eine solche Anweisung überwacht, eine Datenanforderung anzeigt.
Zweitens wird Oraclize gemäß den Parametern einer solchen Anfrage ein Ergebnis abrufen oder berechnen, die Transaktion mit dem Ergebnis erstellen, signieren und senden. In der Standardkonfiguration führt eine solche Transaktion die __callback-Funktion aus, die von ihrem Entwickler in den Smart Contract eingefügt werden sollte: Aus diesem Grund wird diese Transaktion in der Dokumentation als Oraclize-Callback-Transaktion bezeichnet.
Welche Art von Befehl wird ausgeführt? Welche Nachrichten werden beim Aufrufen der oraclize_query
Funktion herumgereicht?
Ist die "besondere" Anweisung und oraclize_query
dasselbe? Soweit ich verstehe, oraclize_query
ist die Anfrage nach Daten richtig?
Die anderen Antworten gehen nicht darauf ein, was die "spezielle" Anweisung ist usw.
BEARBEITEN: Ich habe in den Kommentaren zu der von anderen vorgeschlagenen Frage herausgefunden, dass es sich um die ursprüngliche Frage handelt, bei der die Antworten lauten, dass es tatsächlich so funktioniert, wie ich es vorgeschlagen habe (der Ereignisteil war das, worüber ich mir nicht sicher war).
Ich bin mir da nicht ganz sicher, aber das ist meine Vermutung, wie die Dinge unter der Haube funktionieren:
Wenn oraclize_query aufgerufen wird, veröffentlicht es ein Ereignis mit den Daten darüber, welche Art von Abfrage usw.
oraclize überwacht die Blockchain und filtert diese Ereignisse
Nachdem sie die Antwort herausgefunden haben, senden sie sie mit der __callback-Funktion (implementiert vom Anforderer) an den Vertrag, der sie angefordert hat.
Aus diesem Grund dauert es einige Blöcke, bis die Antwort geliefert wird.
Ich versuchte, diese Annahmen zu bestätigen, indem ich mir den Code ansah, verlor mich aber darin.
Shuzheng
kruk
Shuzheng
kruk
Shuzheng
kruk
Shuzheng