Holen Sie sich einige Fragen. Brauche Hilfe für Anfänger!

Ich habe vor ein paar Tagen von GETH erfahren. Ich brauche Geth, um Etherum-Wallets zu erstellen und Transaktionen mit diesen Wallets durchzuführen (ich verwende Geth anstelle von Drittanbieter-API, um einige Programme im Zusammenhang mit Eth zu erstellen). Ich hoffe sehr, dass Sie mir helfen, Folgendes zu verstehen:

  1. Was sind die Mindestsystemanforderungen für geth? (zum Erstellen von Konten, Durchführen von Transaktionen)
  2. Ist es notwendig, eine Blockchain zu synchronisieren, um Konten zu erstellen und Transaktionen durchzuführen?
  3. Wenn nicht, wie funktioniert es? Wie erstelle ich ein Konto und eine Transaktion ohne Synchronisierung?
  4. Woher weiß ich, ob die Synchronisierung abgeschlossen ist?
  5. Werden Fehler beim Synchronisieren der Blockchain auftreten, wenn Sie geth versehentlich deaktivieren? (Server-Shutdown oder Beendigung des Geth-Prozesses)
  6. Wenn ja, wie kann ich nach Fehlern in der synchronisierten Blockchain suchen?
  7. Gibt es Alternativen mit Web3-Zugriff?
  8. Ich habe einen Server mit geth --fast --cache = 2048.

    System: CPU AMD Athlon II x2 220, 4 GB RAM, 500 GB Festplatte 5400 U / min, Betriebssystem Ubuntu 16.04 x64.

    Mit solchen Parametern wird RAM zu 100% geladen, + 1 GB Auslagerungsdatei von 4 GB. Ich habe versucht, den Parameter --cache auf 128, 256, 512, 1024 und sogar auf 16 MB zu ändern, aber der Arbeitsspeicher wird immer zu 100 % geladen. Blockchain ist schon seit 6 Tagen synchronisiert, blockNumber immer noch 0.

    Ist das normal?

PS Entschuldigung für mein Englisch, das ist nicht meine Muttersprache.

PPS Wenn Sie die Antwort auf mindestens eine Frage wissen, antworten Sie mir bitte.

Antworten (2)

tl;dr: In den meisten Fällen ist es einfacher, einen Dienst zu nutzen, der die öffentlichen Ethereum-Knoten für Sie betreibt. Lesen Sie weiter, um Ihre Optionen kennenzulernen.


MetaMask und Remix

Derzeit ist der einfachste Weg, mit der Entwicklung von Smart Contracts mit Solidity zu beginnen, die Verwendung von Google Chrome, MetaMask und Remix (wählen Sie Run > Environment > Injected Web3).

Dies erspart Ihnen stundenlanges Herumfummeln mit Einstellungen. Wenn Sie anfangen, möchten Sie normalerweise den Umgang mit der Syntax priorisieren und üben. Dieses Setup macht es einfach, die Verträge bereitzustellen (und Sie können dies tun, um Netze und das Hauptnetz zu testen).


Trüffel

Eine weitere ausgezeichnete Option ist die Verwendung von Truffle . Das finde ich flexibler, vor allem weil ich gerne an meiner CLI und meinem Editor arbeite. Sie können hier einen erstaunlichen einführenden Artikel von Mason Forest lesen .

Ein weiteres großes Plus für Truffle ist, dass Sie Ihre Verträge mit testrpc – kürzlich in Ganache umbenannt – auf einer persönlichen Blockchain bereitstellen können .


Geth

Geth ist ressourcenintensiv und die Synchronisierung dauert einige Zeit. Sie benötigen einen guten Computer (mit einem SSD-Laufwerk), eine gute Internetverbindung und viel Geduld, um zu warten, während die gesamte Blockchain heruntergeladen wird.

Eine gängige Alternative zum Herunterladen der Blockchain ist das Erstellen eines Genesis-Blocks und das lokale Mining einer neuen Blockchain. Dies kann eine unterhaltsame Übung sein und Sie mit der API vertraut machen. Sie finden online viele geschriebene und aufgezeichnete Tutorials.

Gibt es Entsprechungen von geth mit der web3-Schnittstelle, die weniger ressourcenintensiv sind?
Ja! :) Werfen Sie einen Blick auf Trüffel!
@WindowsEight Wenn Sie möchten, können Sie meine Frage auf der Check-Schaltfläche an der Seite akzeptieren. Danke schön!

Mein Englisch ist auch nicht sehr gut, aber ich werde versuchen, Ihnen mit dem Wenigen zu antworten, das ich über das Thema weiß

  • 1) Standardmäßig beginnt der Geth-Cache mit 128 MB und natürlich braucht Ihr System mehr, um zu laufen, also brauchen Sie mindestens 512 MB, je mehr Sie haben, desto besser läuft es natürlich
  • 2) Um Konten zu erstellen, müssen Sie nicht synchronisiert sein, aber um Transaktionen durchzuführen, ja
  • 4) Führen Sie den Befehl aus geth attachund ethSie können den Status Ihrer Synchronisierung sehen. Wenn blockNumber: 0dann ist es nicht synchronisiert
  • 5) Wenn GETH versehentlich geschlossen wird, bevor die Synchronisierung abgeschlossen ist, passiert nichts, beim nächsten Öffnen wird es dort fortgesetzt, wo es aufgehört hat
  • 7) Ja, es gibt Alternativen zu web3, ebenso wie zu RPC, aber web3 ist am einfachsten zu verwenden

Ich hoffe, ich war hilfreich, Grüße

7) "Alternatives" ist eine Alternative zu geth gemeint, die rpc, web3 haben
1) Ich habe einen Server mit geth --fast --cache = 2048. System: CPU AMD Athlon II x2 220, 4 GB RAM, 500 GB HDD 5400 U / min, Betriebssystem Ubuntu 16.04 x64. Mit solchen Parametern wird RAM zu 100% geladen, + 1 GB Auslagerungsdatei von 4 GB. Ich habe versucht, den Parameter --cache auf 128, 256, 512, 1024 und sogar auf 16 MB zu ändern. Blockchain ist schon seit 6 Tagen synchronisiert, blockNumber immer noch 0. Ist das normal?