Wie kann ich Daten aus der Etherum-Blockchain speichern und lesen? [geschlossen]

Ich mache ein Projekt und möchte einige grundlegende Informationen auf Etherum speichern, zum Beispiel: Name, ID, Größe, Gewicht. Wie kann ich das in der Blockchain speichern und danach zum Lesen zur Verfügung stehen? Ich habe dies gelesen , wie kann ich Daten in der Ethereum-Blockchain speichern, und es heißt, dass ich einen Vertrag erstellen und ihn auf der Blockchain bereitstellen müsste.

Wie kann ich das machen? Ich finde nur Tutorials zum Programmieren von Smart Contracts zum Senden/Empfangen von Coins.

warum willst du daten auf blockchain speichern?

Antworten (2)

Nun, während der Benutzer Dan Garland oben einige interessante Punkte anführt, die Sie berücksichtigen sollten, ist ein intelligenter Vertrag, um das zu tun, was Sie beabsichtigen, nicht sehr komplex. Die Registrierung der Daten ist nicht zu teuer, und wenn Sie tatsächlich die Unveränderlichkeit einer Blockchain nutzen möchten, gibt es dort einen Anwendungsfall. Ich kann dies in einem Szenario vom Typ Krankenakte sehen.

Hier ist ein einfaches Beispiel, wie Sie dies tun könnten:

pragma solidity^0.4.25;

contract PatientRecords {

struct Patient {
    string name;
    string ID;
    uint weight;
    uint height;
}

address doctor;

constructor() public {
    doctor = msg.sender;
}

modifier onlydoctor() {
    if (msg.sender == doctor) {
        _;
    }
} 

Patient[] public patients;

function registerPatient(
    string _name, 
    string _ID, 
    uint _weight, 
    uint _height) public onlydoctor {
        patients.push(Patient(_name, _ID, _weight, _height));
    }
}

Mit dem obigen Vertrag können Sie also die Informationen speichern, die Sie benötigen, und eine Abfrage dieser Informationen kostet Sie nichts. Ich habe zwar einen "onlydoctor"-Modifikator hinzugefügt, aber das ist die einzige zusätzliche Funktionalität dort. Für eine ordnungsgemäße Implementierung müssten Sie Dinge wie das Speichern bestimmter Daten (z. B. ID oder Name) als Hash aus Datenschutzgründen berücksichtigen.

Testen Sie es auf Remix , um zu sehen, was es tut. Hoffe das hilft.

Danke! Ich verstehe, was Dan sagt, aber die ID, das Gewicht, die Größe sind eher einige Beispieldaten, ich werde andere Arten von Daten verwenden, ich brauchte nur ein Beispiel wie Ihres, um zu verstehen, wie die Daten gespeichert werden.
Krankenakten auf Ethereum sind eine schlechte Idee. Sogar private Accessors sind für jeden im Netzwerk sichtbar, und da sie für immer Teil der Kette werden, ist es schwierig, den Datenschutz selbst mit Verschlüsselung zu gewährleisten.

Es ist keine gute Idee, Daten wie Name, Größe, Gewicht auf einer Blockchain zu speichern. Einer der Gründe, warum Sie viele Tutorials finden, die sich auf Münzen beziehen, ist, dass Transaktionsdaten ein guter Anwendungsfall für die Blockchain-Technologie sind. Eine Blockchain ist jedoch keine Datenbank.

Der Grund, warum Name, Größe und Gewicht keine gute Wahl sind, ist, dass es rechenintensiv ist, jeden Knoten im Ethereum-Netzwerk zu bitten, diese Daten zu duplizieren, sodass Ethereum-Transaktionen „Gas“-Kosten berechnen, was bedeuten würde, dass Sie es tun würden Zahlen Sie in Krypto, um Ihre Datenbankänderungen zu speichern.

Außerdem speichern Blockchains den Verlauf der an Daten vorgenommenen Änderungen, sodass Sie am Ende nicht nur die Größe und das Gewicht speichern, sondern auch alle nachfolgenden Änderungen. Beim Gewicht könnte sich das stark ändern, was zu höheren Transaktions- und Lagerkosten führen würde.

Schließlich ist es wahrscheinlich nicht erforderlich, dass niemand diesen Datensatz manipuliert. Sind die Daten wertvoll genug, um das Vertrauen um ihren Zugriff zu dezentralisieren? Ich bezweifle, dass Sie beispielsweise auf Zensurprobleme stoßen werden, die Blockchain verhindert.

Während es also ein nützliches Werkzeug zum Lernen sein könnte, würde Ihnen etwas mehr Kontext zur Funktionsweise von Blockchains einen Einblick in die geeigneten Anwendungsfälle geben, bevor Sie sich entscheiden, dass Ethereum die richtige Blockchain für Ihre Anforderungen ist.