In diesem Guide möchten wir euch kurz die Möglichkeiten aufzeigen, wie ihr das Plotting und Farming auf mehreren Systemen durchführen könnt. Dieses Thema wird häufig im Forum, Telegram Chat oder per E-Mail nachgefragt. Das Thema macht dann Sinn, wenn man mehrere Systeme zu Verfügung hat und somit das Plotting beschleunigen möchte. Aber auch das Farmen kann mit sogenannten Harvestern auf mehrere Systeme verteilt werden.

Plotting auf mehreren Systemen

Wer über das Betreiben von einer Chia Farm auf mehreren Systemen nachdenkt, möchte in den meisten Fällen einen Full Node (Node, Wallet, Farmer, Plotter) mit weiteren angeschlossenen Plotting Systemen verwenden. Dieses Szenario ist eigentlich relativ einfach umzusetzen und wird jetzt näher erläutert.

Man könnte jetzt natürlich einfach den Chia Client auf mehreren Systemen installieren und somit mehrere Full Nodes betreiben, welche jeweils plotten (über GUI). Theoretisch ist das möglich, allerdings kann es hierbei zu Sync Problemen kommen. In einem Netzwerk sollte sich nämlich nur ein Full Node befinden. Aus diesem Grund kann man auch ausschließlich über die PowerShell plotten. Hierbei wird dann kein Full Node benötigt / gestartet und es entstehen keine Probleme.

Die nachfolgenden Schritte werden nochmal detailliert in unserem [QuickTip] Chia Plotting mit Windows PowerShell beschrieben. Einen kurzen Auszug daraus, könnt ihr hier nochmal einsehen.

Startet zunächst die „Windows PowerShell“ über das Windows Startmenü und wechselt anschließend in das folgende Verzeichnis:

cd "C:\Users\BENUTZER\AppData\Local\chia-blockchain\app-1.1.5\resources\app.asar.unpacked\daemon\"

Im nächsten Schritt können wir den Befehl zum Starten eines Plotting Vorgangs eingeben:

start-process ./chia.exe -argumentlist "plots create -k 32 -b 4000 -u 128 -r 4 -t d:\tempdrive1 -2 e:\tempdrive2 -d F:\plots -n 1"
  • start-process ./chia.exe -argumentlist
    • Starte Chia mit den festgelegten Argumenten.
  • plots create
    • Erstelle die Plots.
  • -k 32
    • Plot Größe. I.d.R. wird hier K=32 verwendet.
  • -b 4000
    • Verwendete Arbeitsspeichergröße. In diesem Fall ca. 4 GB.
  • -u 128
    • Bucket Größe. Der Wert kann auf 128 (Standard) belassen werden.
  • -r 4
    • Verwendete Thread Anzahl der CPU. Je nachdem wie viele Threads eure CPU besitzt, kann dieser Wert angepasst / erhöht werden.
  • -t d:\tempdrive1
    • Temporäres Plotting Verzeichnis (schneller SSD Speicher).
  • -2 e:\tempdrive2
    • Angabe eines zweiten temporären Plotting Verzeichnis (schneller SSD Speicher).
  • -d F:\plots
    • Finales Plotting Verzeichnis (langsamer HDD Speicher).
  • -n 1
    • Anzahl der (nacheinander) zu erstellenden Plots. Das parallele Plotting wird über die mehrfache Eingabe des kompletten Befehls realisiert.

Praxisbeispiel zum Starten des Plotting:

start-process ./chia.exe -argumentlist "plots create -k 32 -b 4000 -u 128 -r 2 -t d:\chia_temp -d f:\chia_final -n 1"

Das ganze könnt ihr jetzt beliebig oft auf verschiedenen Systemen wiederholen.

Der Zugriff auf die einzelnen Plots durch den Chia Full Node kann über verschiedene Wege erfolgen. Zum Einen können die Plot Dateien auf einem NAS System* abgelegt, auf dass alle beteiligten Systeme Zugriff haben, zum Anderen können Windows Freigaben auf dem Full Node oder den Plotting Systemen erstellt werden.

Synology DS420+ 40TBTerraMaster F2-422Synology DS218J/20TB-RED
Angezeigte Produkte = Amazon Affiliatelinks/Werbelinks

Windows Netzwerk Freigabe erstellen

Um die Plots über den Full Node zu Farmen, können Netzwerk Freigaben in Windows erstellt. In der Regel macht es mehr Sinn die Freigabe auf dem Full Node System zu erstellen und an dieses die Datenspeicher (z.B. USB Festplatten) anzuschließen. Dies hat den Vorteil, dass der Zugriff auf die Plots schneller erfolgen kann, da kein Netzwerk (WLAN) dazwischen ist. Weiterhin kann sich das Plotting System dann vollständig auf das Plotten konzentrieren und wird nicht durch ständige Anfragen vom Full Node ausgebremst.

Zum Austausch / Verschieben der Dateien können unter Windows, Freigaben erstellt werden. Das Erstellen der Freigaben ist relativ einfach. Macht hierzu zunächst einen Rechtsklick auf den Ordner den ihr freigeben möchtet und wählt „Eigenschaften“. Unter dem Reiter „Freigabe“ könnt ihr dann die Freigabe erstellen. Über den oberen Punkt „Freigabe“ könnt ihr eine einfache Freigabe erstellen

Im neuen Fenster könnt ihr einen bestimmten Benutzer als berechtigte Person auswählen oder, da ihr eh im privaten Netzwerk seid, einfach „Jeder“ auswählen. Hier wird dann kein Benutzername / Passwort beim Zugriff benötigt.

Unter „Berechtigungsebene“ könnt ihr jetzt noch die Zugriffmöglichkeit festlegen. Damit der Austausch funktioniert müsst ihr hier „Lesen/Schreiben“ auswählen.

Bei der nachfolgenden Meldung solltet ihr den oberen Punkt „Nein, das Netzwerk….“ auswählen.

Für das Verschieben der Plot Dateien sollte eine Netzwerkverkabelung inkl. Switch (mindestens Gigabit) vorhanden sein. Ein Verschieben über WLAN ist i.d.R. zu langsam und mühselig.

TP-Link TL-SG105 5-Ports TP-Link TL-SG108 V3 8-PortsNETGEAR GS308 Switch 8 Port
Angezeigte Produkte = Amazon Affiliatelinks/Werbelinks

Theoretisch könnte auch auf allen Systemen der Chia Client (Full Node) verwendet werden. Allerdings dürfte dann nur ein Full Node mit dem Internet verbunden sein, da es sonst Sync Probleme bei Betrieb in einem Netzwerk gibt. Sollten die Full Nodes nicht im gleichen Netz (verschiedene Internetanschlüssen) betrieben werden, müsste die Funktion auch ohne Sync Probleme gewährleistet sein. Getestet haben wir dieses Szenario allerdings nicht.

Farming auf mehreren Systemen (Harvester)

Um auf mehreren Systemen Farming zu betreiben, können sogenannte Harvester eingerichtet werden. Ein Harvester ist ein einfaches System auf dem kein Full Node (Wallet, Farmer, etc.) betrieben wird. Harvester Systeme haben den Vorteil, dass Farming effizienter zu betreiben, so wird weniger Bandbreite und weniger CPU Last verwendet, was das Farming beschleunigen kann. In diesem Szenario baut nur der Full Node die Verbindung zum Chia Netzwerk auf. Für die Kommunikation der einzelnen Systeme untereinander wird TLS, also eine gesicherte Verbindung über Zertifikate verwendet.

Die nachfolgende Anleitung beschreibt die Einrichtung von Harvestern unter Windows. Bei Linux Systemen ist das Prozedere aber ähnlich. Weitere Infos finden sich auch beim Chia Github: https://github.com/Chia-Network/chia-blockchain/wiki/Farming-on-many-machines

Um Chia Harvester einzurichten, müssen die nachfolgenden Schritte durchgeführt werden. Als erstes muss auf den Harvester Systemen der Chia Client installiert sein. Nach der Installation kann der Client gestartet werden und die Firewall Freigaben akzeptiert werden. Die Eingabe eures vorhandenen private Keys ist nicht notwendig und es muss auch kein neuer Key erstellt werden. Dies wird so aus Sicherheitsgründen gemacht, damit der Key nicht auf zu vielen Systemen verteilt wird und dadurch leichter eingesehen oder abgegriffen werden könnte. Ihr könnt den Client nun erstmal wieder schließen.

Quelle: https://github.com/Chia-Network/chia-blockchain/wiki/Farming-on-many-machines

Im nächsten Schritt müssen wir uns das Zertifikat des Hauptsystems, also dem Full Node, kopieren. Um auf das Verzeichnis von den Harvestern zugreifen zu können, habt ihr wieder die Möglichkeit eine Netzwerkfreigabe zu erstellen (siehe oben). Da ihr auf ein anderes Benutzerverzeichnis zugreift, sind ggf. erhöhte Rechte für den zugreifenden Benutzer erforderlich. Über die Freigabe greift ihr dann anschließend auf das folgende Verzeichnis zu:

C:\Users\BENUTZER\.chia\mainnet\config\ssl\ca

Am Besten kopiert den ganzen Ordner „ca“ auf eure Harvester Maschinen. Um Harvester verwenden zu können muss der Port 8447 auf dem Hauptsystem für die Harvester geöffnet sein. Dies sollte i.d.R. der Fall sein. Überprüfen könnt ihr das über die Eingabeaufforderung. Gebt dazu im Windows Startmenü „cmd“ ein und verwendet den Befehl „netstat“. Jetzt wird euch eine Liste der geöffneten Ports angezeigt.

Als nächstes müssen wir auf dem Harvester System ein paar Befehle über das Chia CLI absenden. Öffnet dazu PowerShell (Windows Startmenü => Windows PowerShell) und wechselt in das folgende Verzeichnis:

 C:\Users\BENUTZER\AppData\Local\chia-blockchain\app-1.1.5\resources\app.asar.unpacked\daemon>

Ihr müsst alle Chia Dienste auf dem Harvester System beenden, indem ihr den folgenden Befehl ausführt:

.\chia stop all -d

In diesem Fall waren keine Chia Dienste gestartet. Jetzt können wir Chia initialisieren und die Zertifikate des Hauptsystems kopieren. Verwendet hierzu den folgenden Befehl:

.\chia init -c D:\ca

An der Stelle wo hier „D:\ca“ steht müsst ihr eurer Verzeichnis eintragen, in welches ihr die CA Dateien kopiert habt. Nach dem Absetzen des Befehls, sollte die Ausgabe wie folgt aussehen.

Jetzt könnt ihr ein Plot Verzeichnis hinzufügen. Dabei ist es erstmal nicht relevant, ob sich in dem Verzeichnis auch schon Plots befinden oder nicht.

.\chia plots add -d D:\Plots

Wenn ihr bereits Plots auf dem Harvester habt, könnt ihr mit folgendem Befehl die Dateien überprüfen.

.\chia plots check

Ihr werdet dann am Ende der Checks die folgende „Fehlermeldung“ erhalten, da wir keinen Key hinzugefügt haben. Dies ist normal und korrekt.

WARNING There are X plots with a farmer or pool public key that is not on this machine. The farmer private key must be in the keychain in order to farm them, use 'chia keys' to transfer keys. The pool public keys must be in the config.yaml

Im nächsten Schritt müssen wir den Harvester dem Hauptsystem (Full Node) bekannt machen. Dies kann über die config.yaml oder ebenfalls über die CLI durchgeführt.

Bearbeiten der config.yaml:

harvester:
  chia_ssl_ca:
    crt: config/ssl/ca/chia_ca.crt
    key: config/ssl/ca/chia_ca.key
  farmer_peer:
    host: IP HAUPTSYSTEM
    port: 8447

Über CLI:

.\chia configure --set-farmer-peer IP HAUPTSYSTEM:8447

Jetzt können wir den Harvester endlich starten.

.\chia start harvester -r

Im Chia Client auf dem Hauptsystem wird nun der Harvester unter „Farm“ angezeigt. In diesem Fall sind noch keine Plots auf dem Harvester vorhanden (deshalb 0/0).

Wenn ihr den Harvester wieder stoppen möchtet, könnt ihr dies mit dem folgenden Befehl machen:

.\chia stop harvester

Wenn ihr den Harvester nach einem Windows Neustart automatisch starten möchtet, könnt ihr z.B. eine Aufgabenplanung mit dem PowerShell Befehl machen.

Infos zu Systemoptimierung für Plotting und Farming findet ihr in unserem Optimierungs-Guide.

Für Harvester Systeme eignet sich auch hervorragend ein Raspberry Pi (energiekostensparenden Lösung.)

Raspberry Pi 4 Model B 8GBRaspberry Pi 4 Official Full KitLABISTS Raspberry Pi 4 8GB Set
Angezeigte Produkte = Amazon Affiliatelinks/Werbelinks

Ich hoffe wir konnten euch das Thema etwas näher bringen. Solltet ihr Fragen haben, so benutzt bitte das Forum, Telegram, Discord, oder die Kommentare.

Hinweis: * = Amazon Affiliatelinks/Werbelinks

Chia Farming und Plotting auf mehreren Systemen (Guide)
Beitrag teilen:

12 Kommentare zu „Chia Farming und Plotting auf mehreren Systemen (Guide)

  • 19. Mai 2021 um 10:39
    Permalink

    Also:
    1. Eignet sich ein Raspy natürlich absolut nicht als Harvester, sondern nur als Farmer (Was eure Werbung angeht). Über die grundlegende Nomenklatur sollte man sich schon selbst im Klaren sein wenn man guides schreibt.
    2. Beschreibst Du eine Installation mit der Du die Gui initialisierst um dann mit Powershell Befehlen zu arbeiten, sprich Du wirfst zwei Dinge durcheinander. Entweder oder muss es hier sein. Aber erstmal solltest Du selbst verstehen was Du da machst.

    Antworten
    • 19. Mai 2021 um 11:34
      Permalink

      zu 1. Natürlich eignet sich ein Raspberry für einen Harvester. Ein Harvester ist nämlich nur ein Teil des Farmens. Zum Plotten ist ein Raspberry natürlich nichts. Aber das wird hier auch nicht behauptet.
      zu 2. Da wir hier von Windows sprechen, kann man nur den Installer mit GUI verwenden. Ob man die Gui dann verwendet oder nicht, bleibt jedem selbst überlassen.

      Antworten
    • 19. Mai 2021 um 19:24
      Permalink

      Ich muss auch feststellen, dass du nicht verstehst was du in diesem Guide bemängelst aber nichts für ungut.
      Super Beitrag

      Antworten
  • 19. Mai 2021 um 19:49
    Permalink

    Hi,
    erst einmal vielen Dank für die Anleitung!
    Eine weitere Frage hätte ich noch: Ich baue aktuell mit Freunden einen größeren Keller aus, in dem wir im gleichen Netzwerk zusammen farmen wollen – auf unterschiedlichen Wallets, sobald es Pools gibt. Wie lässt sich sowas am besten umsetzen? Braucht dann jeder einen FullNode? Und dann einfach UPNP deaktivieren?
    Danke!

    Antworten
  • 19. Mai 2021 um 23:57
    Permalink

    das mit dem UPnP ist wirklich der Dauerbrenner hier 😀

    Hier mal einige Fakten:
    1. Mit getrennten Wallets im gleichen Netzwerk hat jeder seinen eigenen Full-Node mit private Key, sprich 24-word mnemonics
    2. es ist von Vorteil wenn ein Full-Node von außen (Internet) per Port 8444 erreichbar ist aber nicht zwingend erforderlich
    3. ein Router der UPnP versteht kann das für einen Client automatisiert machen wenn der Client in darum bittet (UPnP in der Config auf True)
    4. der Router würde nicht verstehen wem er den Port öffnen soll wenn mehrere Clients das gleichzeitig anfordern – darum maximal nur einer True, der Rest False
    5. es gibt aber auch Konstellationen wo trotz offenem Port an deinem Router dennoch keine Verbindung von außen möglich ist (z.b. Carrier-grade NAT) – du kannst das hier testen ob der Port 8444 bis zu deinem Full-Node von außen offen ist. https://www.yougetsignal.com/tools/open-ports/
    6. auch wenn es dir nicht gelingt den Port von außen zu öffnen sollten sich eure Full-Nodes zu anderen Peers verbinden.
    7. Ich merke gerade ich habe viel zu viel geschrieben weil es eh funktionieren wird aber wenigsten konnte ich euch das Thema UPnP etwas näher bringen

    LG, Chris

    Antworten
    • 24. Mai 2021 um 12:45
      Permalink

      danek für die Ausführungen. Ich habe Internet über Kabel und damit eine IPv6 Adresse. Trotzdem ich den Port 8444 über TCP und UDP freigegeben habem bin ich scheinbar nicht sichtbar für andere im Netzwerk, aber mein FullNode baut Verbindungen zu anderen Systemen auf.
      Allerdings komme ich damit nie über zehn Verbindungen. Wenn ich hier andere höre, dann haben die teilweise bis zu 50 Verbindungen. Ist das ein Nachteil beim Famring?

      Danke

      Antworten
  • 22. Mai 2021 um 14:49
    Permalink

    Habe gestern meinen ersten seperaten Harvester mit der aktuellen Version 1.1.6 aufgesetzt. Hat auch auf Anhieb geklappt. Hatte noch keine Plots drauf aber wurde unter „versuchte Nachweise“ mit 0/0 angezeigt.
    Der Node selbst war noch auf 1.1.5 also den auch gleich geupdated.
    Seitdem wird der Harvester nicht mehr angezeigt, weder unter „Nachweise“ noch unter „Harvester Netzwerk“.
    Habe den Harvester dann noch mal neu aufgesetzt, Zertifikate installiert und IP des Nodes in der config.yaml hinterlegt. Leider geht’s immernoch nicht.
    Irgendeine Idee, was ich vergessen haben könnte?

    Antworten
  • 26. Mai 2021 um 09:49
    Permalink

    Moin,

    vielen Dank für die tolle Anleitung!

    Ich hab da mal eine kleine Frage, ein Kollege von mir hört auf zu Farmen und hat mir seine Externe Festplatte mit seine Plots geschenkt ( nur die Plots die Platte geht zurück 😀 )

    Ich habe jetzt seine Plots auf mein System gezogen ( auf eine leere HDD )
    Bei Farm hat sich die Anzahl der Plots nicht verändert… muss ich evtl. noch was anderes berücksichtigen ?

    Antworten
    • 26. Mai 2021 um 21:15
      Permalink

      Ich glaub die sind nicht übertragbar, sondern an den jeweiligen Key gekoppelt…

      Antworten
    • 29. Mai 2021 um 16:05
      Permalink

      Genau, die Plots kann man übertragen und Portabel in jedes System mitnehmen.
      Famrn kann man Sie aber nur wenn man Sie mit der gleichen Wallet farmt wie Sie geplottet wurden.

      Antworten
  • 1. Juni 2021 um 22:18
    Permalink

    Hi,

    sollten die Plots vom Harvester im FullNode des Farmers angezeigt werden?

    Antworten
  • 25. Juli 2021 um 20:47
    Permalink

    Hallo, ich hab einen Harvester wie beschrieben eingerichtet. Nach dem Starten taucht in der Gui aber nichts davon auf wie hier in dem Beispiel. Was kann ich da machen? Vielen Dank.

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.