Wie kann ich Daten in der Ethereum-Blockchain speichern?

Ich möchte PDF-Hash in Blockchain speichern. Ich habe diesen Beitrag bereits gelesen . Welche Möglichkeiten zum Speichern von Daten in Ethereum gibt es? Aber ich bin Anfänger in diesem Bereich und verstehe nicht ... Ist es möglich, Daten (in meinem Fall Hash) in Ethereum zu speichern?

Wie viel kostet das Speichern von Daten in Ethereum? Und wie kann ich das mit Python oder einer anderen Sprache machen?

Antworten (5)

Sie können Daten in der Blockchain speichern:

  1. An einem speziellen Platz in der Blockchain, der für Vertragsdaten reserviert ist
  2. An einem speziellen Platz in der Blockchain, der für Transaktionseingabedaten reserviert ist

Um Ihre Daten an einem speziellen Ort 1 zu speichern , müssen Sie einen Vertrag erstellen und ihn in der Blockchain bereitstellen.

Um Ihre Daten an einem speziellen Ort 2 zu speichern , müssen Sie jemandem eine Transaktion senden und Ihre Daten darin enthalten.

Bevor Sie mit der Blockchain interagieren können, müssen Sie Zugriff auf das web3- Objekt erhalten. Dazu gibt es mehrere Möglichkeiten. Ich würde vorschlagen, dass Sie das MetaMask-Plugin für den Chrome-Browser installieren. Nach der Installation haben Sie Zugriff auf das web3- Objekt. Die Möglichkeiten zur Interaktion mit dem web3-Objekt finden Sie hier (Web3-API-Dokumentation)

Jetzt, da Sie das MetaMask-Plugin installiert haben. Wählen Sie Morden testnet in den Konfigurationen. Jetzt können Sie den Solidity-Browser-Compiler verwenden . Versuchen Sie, dort einen einfachen Vertrag zu kompilieren und bereitzustellen:

contract A {
    uint x = 255;
}

Sie benötigen etwas Ether in Ihrem Konto (von MetaMask bereitgestelltes Konto), um Verträge bereitzustellen. Gehen Sie zu https://morden.ether.camp/ und erhalten Sie 5 Testnet-Ether kostenlos.

Und nachdem ich web3 installiert habe, kann ich Daten an einem speziellen Ort 1 speichern?
@wxcvbn, ich habe meine Antwort aktualisiert, sieh es dir an, frag ruhig
Vielen Dank für Ihre Antwort! Kann ich mehrere Hashes in einen Vertrag einfügen? Oder ist es möglich, einen bestehenden Vertrag zu öffnen und einen Hash hinzuzufügen? Ich benötige etwas Ether für jeden erstellten Vertrag oder für jede Dateneingabe im Vertrag?
@wxcvbn,Sie können beliebig viele Hashes in einen Vertragsspeicher einfügen. Je mehr Daten Ihr Vertrag enthalten soll, desto mehr zahlen Sie für dessen Erstellung. Wenn Sie einen Kontrakt eröffnen und eine Funktion darin aufrufen möchten, können Sie Ether bezahlen oder nicht bezahlen. Wenn diese Funktion etwas in der Blockchain ändert, zum Beispiel einen von Ihnen bereitgestellten Wert speichert, dann zahlen Sie Ether. Sie zahlen also für jede Dateneinfügung. Um einen bestehenden Vertrag zu öffnen, müssen Sie seine Adresse und **abi** kennen (es ist wie eine Beschreibung des Codes in einem Vertrag).
Also muss ich nur ein MetaMask-Konto erstellen und Ether hinzufügen? Ich bin ein wenig verloren, was mache ich zuerst? Ethereum herunterladen? Oder Metamask?
@wxcvbn, das Schöne am MetaMask Chrome-Browser-Plugin ist, dass Sie nicht die gesamte Ethereum-Blockchain herunterladen müssen, um mit dem Netzwerk zu interagieren. Oh, du Dummkopf, ich hätte dir einen anderen Ausgangspunkt geben sollen. Hast du Mist Wallet installiert? Wenn Sie dies tun, können Sie Verträge kompilieren/bereitstellen und von dort aus Transaktionen senden, aber Sie müssen die gesamte Blockchain herunterladen, dies kann eine Weile dauern.
Kennen Sie eine andere Möglichkeit, dies mit Python oder PHP (oder einer anderen Sprache ...) zu tun?
@wxcvbn, ich weiß nicht, tut mir leid.
Keine Sorge, es ist okay =)
web3-Bibliothek in mehreren Sprachen verfügbar, für Python verwenden Sie diese: github.com/ethereum/web3.py

Sie können Daten im Eingabedatenfeld einer Transaktion speichern.

In dieser Antwort skizziere ich, wie viele Daten in den Eingabedaten einer Transaktion gespeichert werden können.

Zum Zeitpunkt des Schreibens sind es ungefähr 98.225 Nicht-Null-Bytes an Daten. Dies kostet zwischen 1,05 und 12,66 US-Dollar, abhängig von dem von Ihnen festgelegten Gaspreis.

Dieser Beitrag beschreibt, wie diese Datenspeicherung genutzt wurde, um Benutzern das Speichern von Bildern in der Blockchain zu ermöglichen. Hinweis - NSFW.

Hi. Ich habe etwas Ähnliches mit Metamask versucht. Siehe ethereum.stackexchange.com/questions/127889/… . Aber anscheinend funktioniert es nicht mit Metamask und ich müsste nur dafür einen speziellen Smart Contract erstellen. Bestätigen Sie, dass ich dies nicht mit etwas wie Metamask tun kann?

Ich würde nicht empfehlen, Daten in Ethereum zu speichern, wenn sie sensibler Natur sind, da jeder problemlos auf Daten in Ethereum-Transaktionen zugreifen kann. Mehr dazu finden Sie hier . Alle sensiblen Daten sollten entweder außerhalb der Kette gespeichert oder basierend auf SWC-136 sorgfältig verschlüsselt werden .

Sie können sich auch das npm-Paket von EthAir Balloons ansehen , das ein JS-Bibliotheksangebot auf einer Modellebene der Abstraktion über Smart Contracts ist, mit dem Sie Daten im Ethereum-Netzwerk speichern können, ohne einen Smart Contract von Solidity zu schreiben

Verwenden Sie einfach einen 160-Bit / 40-Hex-Hash (z. B. RIPEMD-160) Ihres PDFs und verwenden Sie ihn als Zieladresse einer einfachen Transaktion mit fast 0 Eth. Dies ist der Beweis, dass Ihnen diese Datei in diesem Moment gehört.

So wie es derzeit geschrieben steht, ist Ihre Antwort unklar. Bitte bearbeiten Sie , um zusätzliche Details hinzuzufügen, die anderen helfen zu verstehen, wie dies die gestellte Frage beantwortet. Weitere Informationen zum Verfassen guter Antworten finden Sie in der Hilfe .