Ist es möglich, nur als Client Teil des Ethereum-Netzwerks zu sein, ohne die gesamte Blockchain in Ihrer App zu speichern?

Ich möchte eine Desktop-App erstellen, die Transaktionen im Ethereum-Netzwerk senden / empfangen kann. Aber das wäre nur ein Feature der App. Es hätte mehrere andere Funktionen. Ein Beispiel wäre der Brave-Browser, der Ether verwendet, um Inhaltsanbieter zu bezahlen, aber meistens eine Desktop-App ist.

Ist das möglich? Wenn ja, wie funktioniert es? Kann eine Desktop-App Ethereum über API-Aufrufe beitreten, ohne eine vollständige Kopie der Blockchain zu verwalten?

Antworten (2)

Ich denke, Ihre beste Wahl ist, Metamask mit Electron zu verwenden .

Metamask bietet Ihnen die Möglichkeit, sich mit dem Ethereum-Netzwerk zu verbinden, ohne einen vollständigen Knoten auszuführen. Sie können hier verweisen ,

MetaMask geht jedoch noch einen Schritt weiter, da dieses Protokoll die Notwendigkeit beseitigt, auch einen vollständigen Ethereum-Knoten auszuführen. Zusätzliche Bequemlichkeit auf den Tisch zu bringen, kombiniert mit weniger technischen Anforderungen für den Zugriff auf dApps, ist ein massiver Durchbruch für das Ethereum-Ökosystem als Ganzes.

Und um Ihre zentrale Desktop-App zu erstellen, können Sie Electron verwenden, mit dem Sie plattformübergreifende Apps in einer webähnlichen Umgebung mit HTML, CSS, JavaScript usw. erstellen können. Sie können hier verweisen .

Stellen Sie sich Electron als Cordova für Desktops vor. Damit können Sie plattformübergreifende Desktop-Apps mit JavaScript, HTML und CSS erstellen. Wenn Sie native Gerätefunktionen wie Dateisystem, Bluetooth oder USB nutzen müssen, können Sie Knotenpakete verwenden. Wie Sie vielleicht bereits wissen, können Knotenpakete nativen Code aufrufen. Dies bedeutet, dass elektronenbasierte Desktop-Apps alles tun können, was native Apps können.

Alles, was Sie tun müssen, ist, diese Eigenschaften von Metamaske und Elektron zu kombinieren. Ich denke, dieser Blog-Beitrag könnte Ihnen dabei helfen.

Wenn Sie ein Peer im Ethereum-Netzwerk sein möchten, suchen Sie wahrscheinlich nach Light Clients . Versuchen Sie Parität ( PIP ):

parity --light

Oder Geth ( LES ):

geth --light

Dies behält nur eine minimale Überlagerung von Blockheadern bei (einige MB groß) und fragt andere Knoten im Netzwerk nach allem ab, was nicht lokal über pipoder gespeichert ist les.