Django, Ethereum, SQLite

Ich erstelle eine Blockchain-Anwendung in Django mit 6 Hauptentitäten. Mit Entitäten meine ich, dass diese 6 Entitäten Daten replizieren werden, oder Sie können sagen, dass sich ein Konsensmechanismus um diese Entitäten entwickeln wird. Jetzt ist meine Frage, wie ich Ethereum in meine Django-App integrieren kann.

Ich brauche Ethereum nur für die verteilte Datenbankspeicherung und mein Konsensmechanismus oder Arbeitsnachweis ist im Vergleich zu Ethereum völlig anders. Soll ich Ethereum in meinem Projekt verwenden oder es in SQLite komplett von Grund auf neu erstellen? Ich bin wirklich verwirrt, wie ich eine Datenbank für meine Blockchain-Anwendung erstellen soll.

Antworten (1)

Es ist sehr schwierig, basierend auf einer allgemeinen Beschreibung eines bescheidenen Datenmodells mit 6 Entitäten genau zu antworten.

Einige Kommentare, die hoffentlich helfen, die großen Themen zu klären.

Der Konsens von Ethereum wird die korrekte Ausführung eines Smart Contracts sicherstellen . Innerhalb dieses Vertrags können Sie sicherstellen, dass die geschäftskritischen Daten zuverlässig sind. Die Speicher- und Verarbeitungskosten sind im Vergleich zu einer relationalen Datenbank hoch, da diese Daten über alle Validierungsknoten hinweg repliziert werden; es ist immens überflüssig.

Meiner Meinung nach eignet sich der On-Chain-Storage für eine minimalistische Speicherung , die stimmen muss , um die Integrität des Systems zu schützen. Ein üblicher Ansatz besteht darin, Schlüssel und kritische Informationen aufzuzeichnen, z. B. Benutzer, Salden, Transaktionshistorie, Schlüsselkennungen und Dokument-Hashes .

Clients können die Hashes verwenden, um an anderer Stelle gespeicherte beschreibende Informationen und Details zu validieren. Beispiel: JSON an anderer Stelle gespeichert. Ein Vertrag verweist auf einen Ort, an dem die Details ermittelt werden können, und liefert einen Hash der dort gespeicherten Daten.

Meiner Meinung nach sollten Verträge referentielle Integrität erzwingen , wenn die App dies erfordert. Das impliziert Primär- und Fremdschlüssel in der Kette und einige strenge Regeln für zulässige Aktualisierungen. Beispiel für referenzielle Integrität hier: https://medium.com/@robhitchens/enforcing-referential-integrity-in-ethereum-smart-contracts-a9ab1427ff42 .

Ich hoffe es hilft.