Aktualisiert: Wie interagiert man "direkt" mit Smart Contract über einen Mikrocontroller?

Angenommen, wir haben ein micro-controllerund es sammelt Metadaten (z. B. eine Nutzlast als Zeichenfolge). micro-controllerWie kann dies "direkt" mit Smart Contract interagieren, um diese Daten in die Blockchain zu schreiben?

Müssen wir so etwas wie Oraclize verwenden ? Da ein Smart Contract nicht direkt mit einer externen Quelle interagieren kann.

Und müssen wir "unbedingt" einen Geth- oder Parity- Client darauf installieren micro-controller?

Gibt es ein praktisches / vorhandenes Beispiel für ein solches Szenario?

Aus meiner Sicht kann dieser micro-controllerDaten sammeln und dann durch den Aufruf einer Funktion im Smart Contract (Bsp. writePayload()) Daten in die Blockchain schreiben „ohne“ ein Orakel wie Oraclize zu verwenden .

Hinweis: Laut den Kommentaren zu dieser Frage: Ist es möglich, eine Funktion von Smart Contract aufzurufen, "ohne" "Geth" oder "Parity" zu installieren? , ist es nicht einfacherinfura , einen vorhandenen Knoten zu verwenden , anstatt ihn zu installieren Gethoder Parity?

Antworten (1)

Wie Sie sagten, können Sie nicht "direkt" auf Smart Contracts zugreifen. Etwas wie Oraclize würde Ihnen dabei auch nicht viel helfen.

Sie benötigen immer einen Zwischenknoten, der mit der Ethereum-Blockchain verbunden ist und Ihnen den Zugriff auf die Blockchain ermöglicht.

Sie brauchen Geth oder Parity nicht "unbedingt", sie werden zum Erstellen und Verwalten des Knotens verwendet. Zumindest braucht man sie nicht auf den Controllern. Da es Ihren Mikrocontrollern wahrscheinlich an Fähigkeiten mangelt, schlage ich vor, dass Sie einen zentralen Knoten (oder mehrere) verwenden, mit dem alle Ihre Controller kommunizieren.

Vielen Dank. In diesem Beispiel ( Link ) basiert das Gerät jedoch auf einem ESP8266, das eine Verbindung zu einem Router herstellt, auf dem eine Instanz eines GethEthereum-Knotens ausgeführt wird. Es verwendet die Ethereum-Blockchain, um eine LED zu steuern, die mit ESP8266einem Smart Contract verbunden ist. Das bedeutet, dass es anscheinend möglich sein könnte, a micro-controllerals Ethereum-Knoten zu verwenden, indem man Geth oder Parity auf installiert micro-controller, dann haben wir einen Knoten, der in der Lage ist, direkt mit der Ethereum-Blockchain zu interagieren. Was denken Sie?
Oder dieses Beispiel ( Elkrem ), wo sie ein Nano Pi als Linux-Board verwenden, um den Ethereum Light Node zu betreiben, es ist mit einem 32-Bit-Mikrocontroller verbunden, der vom Benutzer programmierbar ist.
Sicher, Sie können dort Geth oder Parity installieren, um sich direkt zu verbinden, wenn der Controller über die erforderlichen Ressourcen verfügt. Aber für mich klingt "Mikrocontroller" einfach nach etwas, das nicht über die erforderlichen Ressourcen verfügt.
Die Bedingung ist also die Fähigkeit des Mikrocontrollers, Geth oder Parity zu installieren.
Im Beispiel von Elkrem hat ihr Board 2 verschiedene Prozessoren, einen 1-GHz-Prozessor, der Linux + Geth Light Client + Swarm + Whisper ausführt, der andere ist ein 120-MHz-Controller, der vom Benutzer programmierbar ist.
Laut den Kommentaren zu dieser Frage: ethereum.stackexchange.com/q/57836/23024 , ist es nicht einfacherinfura , als vorhandenen Knoten zu verwenden , anstatt zu installieren Gethoder Parity?
Sicher ist es einfacher, Infura zu verwenden - das ist eine Option für eine etwas zentralisiertere Version.