Wie kann ich nur mit einem Webbrowser eine Verbindung zu Ethereum herstellen, um einen Vertrag zu überwachen?

AFAICT erfordert, dass ein Knoten wie Geth eine Verbindung zu Ethereum herstellt, um den Vertragsstatus zu erhalten oder zu ändern.

Ich muss nur den Status abrufen, nicht den Status ändern, aber ich möchte dies nur über einen Webbrowser tun. Ich möchte nicht auf jedem Gerät, das den Status anzeigen möchte, einen Ethereum-Knoten installieren müssen. Ich möchte den Zustand auch auf eine bestimmte Weise anzeigen und darstellen, daher möchte ich keine der Blockchain-Browsing-Websites verwenden (sie raten ohnehin von Anwendungen ab, ihre Websites zu verwenden).

Bieten die ethereumjs-Bibliotheken diese Funktion? Wenn nicht, gibt es Pläne, diese Fähigkeit aufzubauen?

Antworten (1)

Sie müssen irgendwo einen Knoten ausführen, wenn Sie einen Vertrag überwachen möchten. Dieser Knoten muss jedoch nicht auf jedem Gerät ausgeführt werden, das ihn anzeigt: Sie können ihn auf Ihrem eigenen Server ausführen oder jemanden dafür bezahlen, dies als Dienst bereitzustellen. (Oder wenn Sie Glück haben, finden Sie vielleicht jemanden, der es kostenlos macht - ich kenne niemanden, YMMV ...)

Wenn Sie einen Knoten auf einem Server betreiben, gibt es zwei Möglichkeiten, wie Sie die Informationen an Clients weitergeben können, die sehen möchten, was mit Ihrem Vertrag passiert:

  1. Konfigurieren Sie Ihren Ethereum-Knoten so, dass er Anfragen von jeder Adresse im Internet abhört, anstatt nur auf localhost beschränkt zu sein. Dies ist nur eine Konfigurationseinstellung - normalerweise verwenden Leute localhost aus Sicherheitsgründen, aber es gibt keine technischen Einschränkungen dafür. (Sie möchten wahrscheinlich kein Geld auf dem Knoten speichern, den Sie dafür eingerichtet haben ...) Lassen Sie dann die Geräte eine Verbindung zur RPC-Schnittstelle Ihres Knotens herstellen, indem Sie die Adresse des Servers und nicht localhost verwenden.
  2. Lassen Sie Ihren Ethereum-Knoten auf localhost und erstellen Sie einen separaten Webserverprozess, der Ihren Ethereum-Knoten auf localhost abhört und die Geräte der Benutzer im öffentlichen Internet abhört und die Informationen, die er von Ethereum erhält, an die Geräte der Benutzer weiterleitet. Ich habe dies getan, bevor ich express.js zum Ausführen eines Webserverprozesses und socket.io zum Senden von Updates an Clients in Echtzeit verwendet habe.
also wird die ethereumjs-Codebasis, die vorgibt, das P2P-Netzwerkprotokoll und andere Komponenten (laut ihrer Github-Seite) zu trennen, nicht in der Lage sein, über dieses Protokoll einfach grundlegende Blockinformationen in einem Browser abzurufen? Ich bin mit nodejs vertraut, aber nicht so vertraut mit Browserbeschränkungen.
Infrua bietet einen laufenden Remote-Knoten, wenn Sie keinen eigenen ausführen möchten (oder können).