Benötigen Endbenutzer von Eris Dapps einen Ethereum-fähigen Browser und einen eigenen laufenden Knoten?

Vor kurzem habe ich etwas über Blockchains und Smart Contracts geforscht. Dabei bin ich auf das Konzept öffentlicher, zugangskontrollierter und privater Blockchains und Smart Contracts gestoßen. Ethereum und Eris können verwendet werden, um solche Arten von Dapps zu entwickeln. Aber dazu brauche ich noch eine Erklärung.

Im Fall von Ethereum sollte der Benutzer von Dapp über einen Ethereum-fähigen Browser wie Mist oder einen Browser mit Metamask und einen lokalen Knoten verfügen, um mit Ethereum und den Smart Contracts von Dapp zu interagieren.

Müsste ein Benutzer also einen Ethereum-fähigen Browser und einen lokalen Knoten mit Eris-basierten zugriffskontrollierten Dapps ausführen, die in der Cloud bereitgestellt werden, oder müssten nur Parteien, die am Betrieb des Dapp beteiligt sind, einen Knoten ausführen?

Vielen Dank.

Der Titel Ihrer Frage spiegelt nicht Ihre eigentliche Frage wider. Außerdem sollten Sie versuchen, Ihre Frage aufzuteilen, da Sie in derselben Frage 3 verschiedene Punkte stellen. Ich werde eine Bearbeitung versuchen.

Antworten (1)

Im Prinzip ist die Art und Weise, wie Endbenutzer mit zugelassenen Ketten wie Eris und Hydrachain interagieren, genau die gleiche wie die Art und Weise, wie sie mit Ethereum interagieren. Es gibt eine Reihe von Knoten, die im Netzwerk ausgeführt werden, von denen einige Mining betreiben (oder im Fall von Eris/Hydrachain validieren), aber Mining/Validierung ist nicht erforderlich, um mit dem Netzwerk zu interagieren.

Sie benötigen also eine Software, mit der der Benutzer interagiert, in der Regel einen Allzweck-Smart-Contract-Browser wie Mist oder eine dedizierte JavaScript-App. Dieser muss wiederum mit einem mit dem Netzwerk verbundenen Knoten kommunizieren, der häufig lokal ausgeführt wird (obwohl dies wie bei Ethereum nicht sein muss).

Die Wendung ist, dass manchmal Leute wollen, dass ihre zugelassenen Netzwerke privat sind, sodass Transaktionen auf ihnen nur von Leuten mit spezieller Erlaubnis gesehen werden können. Um dies zu erreichen, können Sie sowohl den Knoten als auch den Browser, der darauf zugreift, in ein privates Netzwerk oder VPN einfügen. Alternativ können Sie einen Serverprozess ausführen (als ich dies tun musste, habe ich express.js und socket.io verwendet), um mit dem Knoten zu kommunizieren, und diesen Prozess die Kommunikation mit dem Browser des Benutzers vermitteln lassen, einschließlich der Verwaltung von Zugriffsberechtigungen.

Bedeutet das also, dass wir den Ethereum-Knoten irgendwo in der Cloud hosten und eine Javascript-basierte Anwendung erstellen können, um über diesen in der Cloud gehosteten Ethereum-Knoten mit dem Netzwerk zu interagieren, und in diesem Fall benötigen Benutzer keine speziellen Browser wie Mist, ist das richtig?
Stimmt, so kann man das machen. Der Haken ist jedoch, dass die Schlüssel Ihres Benutzers irgendwo gespeichert werden müssen. Der herkömmliche Weg, dies zu tun, besteht darin, dass der Benutzer seinen eigenen Knoten auf localhost verbindet und niemand sonst eine Verbindung zu diesem Knoten herstellen kann. Wenn Sie möchten, dass sie sich direkt mit einem Knoten verbinden, den sie nicht besitzen, müssen Sie ihre Schlüssel im Browser oder in einem zwischengeschalteten Serverprozess verwalten.
Danke Edmund. Gibt es also Ressourcen, die beschreiben, wie Ethereum-Knoten/Eris in der Cloud gehostet werden können und eine Javascript-App damit interagieren kann, ohne dass die Endbenutzer einen speziellen Browser benötigen?
Ich kenne keine systematische Einführung dazu, aber: Die Interaktion mit einem Knoten mit einer benutzerdefinierten JavaScript-App und nicht mit einem Allzweckbrowser ist eine Standardmethode zur Verwendung von Ethereum. Beginnen Sie also mit allem, was web3.js verwendet. Wenn Sie Schlüssel im Browser verwalten möchten, anstatt zu erwarten, dass der Knoten, mit dem Sie sich verbinden, Ihre Schlüssel hat und in der Lage ist, Dinge für Sie zu signieren, googeln Sie Hooked-Web3-Provider. Wenn Sie einen Zwischenserverprozess erstellen, um zwischen Ihrem Knoten und dem Browser zu vermitteln, würde ich vorschlagen, sich über express.js zu informieren, aber es gibt viele andere Möglichkeiten, dies zu tun.