Wie schreibe ich Orakel und setze Sensordaten in die Blockchain? [geschlossen]

Ich habe ein Projekt, in dem ich die Messwerte des mit RPi verbundenen Sensors an die Blockchain senden muss. Aufgrund der Tatsache, dass Smart Contract keine Daten außerhalb der Blockchain manipulieren kann, brauche ich ein Orakel, das die Sensordaten modifiziert (um eine Ganzzahl zu sein) und sie an die Ethereum-Blockchain adressiert. Ich habe keine Ahnung, wie man Orakel schreibt und wie man das Skript auf RPi ausführt. Bitte helfen Sie

Ich habe einen PC mit 2 laufenden Minern und einem daran angeschlossenen RPi mit Sensor. Das Problem besteht darin, Messwerte vom Sensor an die Ethereum-Blockchain zu senden, damit sie von der Webanwendung gelesen werden können, ohne physischen Zugriff auf den Sensor selbst. Dazu benötige ich einen Smart Contract und ein Orakel, die das System dazu bringen, sich so zu verhalten, wie es oben erklärt wurde. Es aktualisiert die Messwerte bei Erreichen eines bestimmten Schwellenwerts oder dreimal täglich, falls zwei Bergleute genug Gas erzeugen
In Ihrem Fall ist es viel einfacher, Sie brauchen kein Orakel. Erstellen Sie einen intelligenten Vertrag, von den rpi-Push-Daten zu diesem Vertrag, die Webapp liest diese Änderungen am Vertrag und kann sie verarbeiten oder etwas anderes tun.
Können Sie erklären, wie Sie die Daten zum Vertrag bringen?
Von Javascript sollte es so etwas wie sein myContract.sendData(dataToSend), wenn Sie Daten als Folge von Bytes senden möchten. Wenn Ihre Daten komplexer sind, können Sie sie vorverarbeitet senden, wenn sensor1, sensor2, .. die von den Sensoren zurückgegebenen ganzzahligen Werte sind, dann sendet so etwas myContract.sendSensorData([sensor1, sensor2, sensor3])Daten als ein Array von ganzen Zahlen.
Also wandle ich die Daten zuerst in einen Integer-Typ um und füge die Daten in die Blockchain ein? Wie definiere ich Pins mit angeschlossenem Sensor? Wird dieses Skript benötigt, um ein Vertrag zu sein, wenn nicht, wie kann es vom Vertrag aus ausgeführt werden? Ich habe einen Sensor und eine Nummer, die vom Typ Double ist
Entschuldigung, ich denke, Sie müssen mehr darüber erfahren, wie ein Ethereum Smart Contract funktioniert.

Antworten (1)

An einem Orakel ist nichts Besonderes. Sie sind nur eine externe Quelle, die regelmäßige Transaktionen an die Blockchain sendet. Die Transaktionen haben ein wohldefiniertes Format, das innerhalb der Blockchain aus anderen Verträgen gelesen werden kann.

Also im Grunde hast du:

  • Ein externes Programm, das externe Daten erhält und sich mit der Blockchain verbindet
  • Eine Möglichkeit, die externen Daten in einem verständlichen Format zu serialisieren, um sie in der Blockchain (in einem Smart Contract) zu speichern
  • Ein intelligenter Vertrag, der die serialisierten Daten lesen und für jeden Vertrag bereitstellen kann, der dies erfordert

Worüber Sie sich Sorgen machen müssen, ist die Entscheidung, wie Sie die Daten in der Blockchain aktualisieren . Ist es regelmäßig (einmal am Tag? einmal pro Minute?) oder pro Anfrage? Jedes Update kostet Sie etwas Gas und jeder Lesevorgang kostet Gas.

Vielleicht wird es aktualisiert, wenn ein bestimmter Schwellenwert erreicht wird, oder 3 Mal am Tag, werden die Bergleute dafür nicht genug Gas erzeugen? und eigentlich weiß ich nicht, wie man ein externes Programm schreibt und wie man Daten serialisiert, aber ich habe einige Gedanken zu Smart Contracts selbst