Kann die Blockchain in einem anderen Verzeichnis gespeichert werden?

Ich verwende gethLinux auf einem Chromebook. Die Blockchain wird ~/.ethereumzusammen mit anderen wichtigen Dateien in gespeichert. Das Problem ist, dass die Speicherkapazität auf meinem Chromebook ziemlich begrenzt ist, sodass es schwierig ist, die Daten im Benutzerverzeichnis zu halten.

Ich habe eine SD-Karte, auf der ich die Blockchain speichern möchte, während die Geth-Installation im Home-Verzeichnis und lokal auf dem Computer bleibt. Wie kann ich das machen? Ich glaube nicht, dass das mit --datadir(das ist nur für die keystore, oder?) zu tun hat. Jede Anleitung oder Dokumentation ist hilfreich, da ich mit meinem begrenzten Speicherplatz grundsätzlich nicht mit dem Netzwerk synchronisieren kann. Vielen Dank!

--datadirist chaindataauch für, aber nicht für DAG
Um meine Frage einfacher zu stellen: Wenn ich mein Passwort und meinen Schlüsselspeicher gesichert habe, aber meinen Computer verliere, wie genau würde ich den Ether wiederherstellen? Ich habe die Dokumente zum Sichern und Wiederherstellen gelesen, habe aber nicht das Gefühl, dass diese Antwort einfach und einfach formuliert ist (dh Schritt eins, Schritt zwei, Schritt drei usw.). Wenn mir jemand die Antwort gibt, stelle ich gerne die Pull-Anforderung ein, um die Dokumentation zu verbessern.
Kopieren Sie einfach Ihren (gesicherten) keystoreOrdner in den Ordner, auf den verwiesen wird --datadir. Passwörter bleiben gleich.

Antworten (4)

Das Flag --datadir gibt das Standortdatenverzeichnis an.

geth --datadir <path to data directory>

Dieses Verzeichnis sollte die folgenden Unterverzeichnisse enthalten:

  • Kettendaten
  • Schlüsselspeicher
  • Knoten

Beim Start wird GETH versuchen, den IPC (Inter-Process Communication) Unix-Socket in Ihrem Datenverzeichnis zu öffnen geth.ipc. FAT32-Dateisysteme unterstützen jedoch nicht die erforderlichen Operationen zum Erstellen von Unix-Sockets. Wenn sich das Verzeichnis auf einem FAT32-Dateisystem (z. B. externes Flash-Laufwerk) befindet, müssen Sie daher entweder:

  • Deaktivieren Sie die Kommunikation zwischen Prozessen, indem Sie ein --ipcdisableFlag hinzufügen
  • Wenn Sie die IPC-Konsole verwenden möchten, können Sie angeben, dass geth.ipcsich der IPC-Pfad auf einem Linux-Dateisystem befinden sollte--ipcpath some/path/on/linux/geth.ipc
Vielen Dank für Ihre Antwort. Ich habe diesen Befehl mit dem Pfad ausgeführt, der zu meiner SD-Karte führt (die automatisch generiert chaindatawurde nodes, aber einen Fehler ausgelöst hat). Also habe ich meinen Schlüssel manuell erstellt keystoreund hinzugefügt. Ich erhalte jedoch eine Fehlermeldung mit der Aufschrift „Fehler beim Starten des Protokollstapels – /path/to/sd/card/geth.ipc bind: Vorgang nicht zulässig“
@eth @JackWinters Ich habe die Dokumentation hier ausgiebig gelesen ( github.com/ethereum/go-ethereum/wiki/Managing-your-accounts ), aber ich verstehe immer noch nicht ganz, wie ich gethmit meinen bestehenden Konten anfangen soll, aber mit dem Blockchain (z. B. große Datei), die sich auf externen Medien befindet.
Das Problem scheint mit der Verwendung eines externen Laufwerks zusammenzuhängen. In diesem reddit-Beitrag schlägt Péter Szilágyi vor, --ipcdisable oder --ipcpath einige/path/on/linux/geth.ipc- Flags hinzuzufügen
Danke @JackWinters, das hat es getan.geth --datadir path/to/SD/datadir --ipcdisable
Bezüglich des "open IPC socket"-Problems: Wird SMB unterstützt? Weil ich gerne einen Microsoft Azure File Storage in mein Verzeichnis ~/.ethereum mounten möchte - und ich brauche IPC.
@Munchkin Wenn Sie das --ipcpathFlag verwenden, können Sie angeben, wo der IPC-Socket erstellt wird. Wenn Sie es einfach irgendwo auf Ihrem lokalen Laufwerk ablegen, sollte es funktionieren. Ich würde vermuten, dass der Fehler darauf zurückzuführen ist, dass versucht wurde, einen IPC-Socket auf einem FAT-Gerät zu erstellen

Starten Sie geth mit dem Flag --datadir "path/to/the/directory-you-want". Siehe https://ethereum.gitbooks.io/frontier-guide/content/cli.html .

Das Standardverzeichnis ist:

  • Mac:~/Library/Ethereum
  • Linux:~/.ethereum
  • Windows: %LOCALAPPDATA%/Ethereum(Quelle sagt %APPDATA%, aber das ist falsch)

Entnommen aus: https://geth.ethereum.org/docs/install-and-build/backup-restore

Diese Frage beschreibt, wie man einen Geth-Knoten mit einer externen Konfigurationsdatei ausführen kann.

Zusätzlich zu den obigen Antworten könnten Sie Konfigurationsdateien generieren, sodass Knoten mit einfachen Befehlen für verschiedene Netzwerke/Konfigurationsoptionen ausgeführt werden können, wobei ihre Daten in verschiedenen Verzeichnissen gespeichert sind.

Zum Beispiel

geth --config usb-config.toml

Nachdem ich herumgespielt hatte, fand ich heraus, dass Sie die Einstellung "An Sommerzeit anpassen" deaktivieren müssen (vorausgesetzt, sie sagt Ihnen, dass Sie um ~ 1 Stunde abwesend sind).

Hi. Können Sie erklären, was Ihre Antwort mit der Frage zu tun hat? :)
@Justin, wolltest du das woanders posten? Bitte erwägen Sie, diese Seite zu löschen, da sie die Frage nicht beantwortet.