Home Assistent – Systemmonitor für CPU, RAM, HDD etc.

Mit dem in Home Assistent integrierten Sensor Systemmonitor lassen sich auf einfache weise CPU und Arbeitsspeicher Auslastung sowie Festplattenverbrauch anzeigen sowie weitere Werte anzeigen. Eine komplette Übersicht über die möglichen Sensoren findest du auf der Systemmonitor Seite.

Der Systemmonitor muss in die Konfigurationsdatei „/config/configuration.yaml“ als Sensor eingetragen werden. Dazu kann z.B. das nachträglich zu installierende Plugin „File Editor“ verwendet werden. „Supervisor -> Installierte Add-ons -> File Editor“. Ist der File Editor noch nicht installiert kann dies im Add-on Store nachgeholt werden.

sensor:
  - platform: systemmonitor
    resources:
      - type: processor_use
      - type: processor_temperature
      - type: load_1m		
      - type: load_5m		
      - type: load_15m	
      - type: memory_free
      - type: memory_use
      - type: memory_use_percent
      - type: disk_use
        arg: /
      - type: disk_free
        arg: /
      - type: disk_use_percent
        arg: /
      - type: network_in
        arg: eth0
      - type: network_out
        arg: eth0
      - type: last_boot

In der „Übersicht“ können die neuen Sensoren nun z.B. mit einer „Elemente“ Karte hinzugefügt werden. Diese verfügt auch über einen Code Editor in dem der unten stehende Code für die Sensor Entities übernommen werden kann. Wer es etwas Facy haben will schaut sich einmal History Graph an.

type: entities
entities:
  - entity: sensor.last_boot
  - entity: sensor.disk_free
  - entity: sensor.disk_use
  - entity: sensor.disk_use_percent
  - entity: sensor.processor_temperature
  - entity: sensor.processor_use_percent
  - entity: sensor.load_1m
  - entity: sensor.load_5m
  - entity: sensor.load_15m
  - entity: sensor.network_in_eth0
  - entity: sensor.network_out_eth0
title: Systemmonitor

Home Assistent (Hass.io) Installation auf dem Raspberry Pi

Mit Hass.io steht für den Raspberry Pi eine einfach zu installierende Home Assistant Version zu Verfügung. Bei Hass.io handelt es sich um komplett Paket aus Linux Betriebssystem und bereits installiertem Home Assistant. Home Assistant ist Open Source und biete eine herstellerübergreifende Integration von Smarthome Komponenten. Das System lässt sich einfach über eine Weboberfläche verwalten, aktualisieren und mit Add-ons, die über einen „Add-on Store“ bereit gestellt werden, erweitern.

Inhaltsverzeichnis

Hardware

Home Assistant läuft auf dem Raspberry Pi ab Version 3. Da das System 24/7 läuft ist der Raspberry Pi mit seinem geringen Strombedarf die perfekte Basis für die Smarthome zentrale. Ihr braucht folgende Komponenten:

Installation

Die Basis Installation von Hass.io ist sehr einfach. Du must nur das passende Image auf eine SD Karte schreiben und deinen Raspberry Pi damit starten. Zum Schreiben des Images kannst du die Software Balena Etcher verwenden. Sie erlaubt dir das Schreiben von Image Dateien von der Festplatte oder kann alternativ diese auch selber herunterladen.

Alle Hass.io Releases sind auf GitHub verfügbar. Hier kannst du das Image passend zu deinem Raspberry Pi herunterladen. Für einen Raspberry Pi 4 wäre dies z.B. die Datei „haos_rpi4-6.2.img.xz“. Wir wählen den Weg Etcher das Image für uns herunterzuladen „Flash from URL“ und kopieren daher nur den Download Link von Github und fügen ihn in Etcher ein:

Etcher lädt nun das Image herunter. Über „Select Target“ kann dann die Ziel SD Card ausgewählt werden. Häufig ist diese auch schon korrekt vor belegt wenn nur eine SD Karte im System gefunden wurde.

Mit einem Klick auf „Flash!“ startet dann der eigentlich Schreibvorgang auf die SD Card.

Wenn alles geklappt hat solltest du diesen Screen bekommen

Nachdem Hass.io auf die SD Kargte geschrieben wurde must du nur noch die SD Karte in den Raspberry Pi stecken, das Netzwerkkabel einstecken und ihn anschließend durch einstecken des Stromkabels starten.

Nach einigen Minuten solltest du Home Assistant über den Browser erreichen. Die Adresse ist „homeassistant.local:8123“ oder „homeassistant:8123“. Solltest du nicht auf Home Assistant kommen, probiere ihn direkt über die IP Adresse (http://X.X.X.X:8123) die der Raspberry Pi von deinem Router bekommen hat zu erreichen. Viele Router wie z.B. die Fritzbox bieten eine Übersichtseite über alle verbundenen Geräte mitsamt ihren IP Adressen.

Chia Farming mit dem Raspberry Pi 4 und Ubuntu

Dieses Tutorial zeigt dir, wie du energiesparsames Chia Farming mit dem Raspberry Pi 4, Ubuntu und externen USB Festplatten betreiben kannst. Die Konfiguration ist zudem sehr leise aufgrund des verwendeten passiven Raspberry Pi Gehäuses. Wie du Plots für diesen Farming PC erstellst erfährst du hier.

Hardware

In dem Build verwende ich folgende Hardware:

  • Raspberry Pi 4: Raspberry Pi 4 Modell B; 4 GB, ARM-Cortex-A72 4 x, 1,50 GHz, 4 GB RAM, WLAN-ac, Bluetooth 5, LAN, 4 x USB, 2 x Micro-HDMI
  • Passives Alu Gehäuse: Lüfterloses Vollaluminium Gehäuse für den Raspbery Pi. Mein aktuelles Lieblingsgehäuse mit guten Preis-Leistungsverhältnis
  • WD My Book 8 TB USB 3.0: Externe USB 3.0 8TB Festplatte
  • Netzteil: Raspberry Pi 4 USB-C Netzteil, 5.1V, 3A
  • SanDisk 64GB Micro SD Card: Micro SD Card mit 64 GB. Aus eigener Erfahrung würde ich keine kleinere Karte nehmen, da du aufgrund der schnell wachsenden Blockchain sonst schnell an die Grenzen des Speicherplatzes stößt.
  • Micro HDMI Adapter

Ubuntu Desktop Installation

  1. Als Betriebssystem für den Raspberry Pi verwenden wir Ubuntu Desktop 21.04 mit Gnome Desktop. Dieses kannst du einfach mit Raspberry Pi Imager herunterladen und auf die SD Card schreiben.
  2. Stecke die SD Card in den Raspberry Pi und schließe Tastatur, Maus, Bildschirm und Netzwerkkabel. Der Raspberry Pi startet sobald das Stromkabel eingesteckt wird. Zur Ubuntu Installation must du nur den Setup Anweisungen folgen.
  3. Abschließend bietet es sich an die System Software zu Aktualisieren. Öffne dazu ein Terminal (Strg+Alt+T) und gebe folgende Befehle ein:
    sudo apt update

    sudo apt upgrade -y

Chia Installation

Chia.net stellt für Ubuntu ein .deb Package zur Verfügung. Die Installation kann daher einfach grafisch erfolgen. Dazu lädst du mit dem bereits installierten Firefox das Installer Package „Ubuntu/Debian ARM“ von der Chia Download Seite herunter. Wichtig ist hier das ARM Package zu nehmen, da der Raspberry PI eine ARM CPU besitzt.
Die heruntergeladene Datei findest du dann im Download Verzeichnis das du über den „Files“ Browser links in der Menüleiste erreichst. Ein Rechtsklick auf das Installer Package erlaubt dir im Kontext Menü die Installation von Chia über den Menüpunkt „Open with Software Install“. Siehe Screenshot:

In dem Menü links unten solltest du nun den installierten Chia Client finden und starten können. Da sich der Raspberry Pi nur zum Farmen eignet und nicht zum erstellen von neuen Plots gehe ich davon aus, das du bereits eine Chia Wallets besitzt. Diese kannst du einfach über den Menüpunkt „Import from Mnemonics (24 words)“ importieren.

Da der Raspbery Pi sich nur zum Farmen eignet, gehe ich davon aus das du eine Ploting Maschine hast, die bereits mit der Chia Blockchain synchronisiert ist. Da dieser Vorgang sehr lange dauert, empfehle ich dir die Blockchain von diesem Computer auf den Raspberry Pi zu kopieren. Dies spart dir einige an Zeit. Schaue dazu bei den Tipps & Tricks rein. Alternativ kannst du den Raspberry Pi auch einfach laufen lassen bis Chia fertig synchronisiert ist.

Festplatten mounten

Erstelle ein Verzeichnis in das die Festplatte mit den Chia Plots gemountet werden soll. z.B. auf der Konsole (Strg+Alt+T) mit folgenden Befehl:
sudo mkdir /mnt/MOUNTNAME

Im Ubuntu Software Menü findest du die Anwendung „Disks“. Mit dieser kannst du die USB Festplatte in das neue Verzeichnis mounten. Dazu klickst du die Festplatte an, gehst dann auf das Zahnradsymbol und wählst „Edit Mount Options…“

Hier wählst du dann „Mount at system startup“ und „Show in user interface“. Bei „Mount Point“ gibst du nun das zuvor angelegte Verzeichnis an. Nach einem Neustart des Raspbery Pi solltn nun die Plots auf der USB Festplatte in dem Verzeichnis verfügbar sein. Dies kannst du z.B. auf der Konsole prüfen oder mit dem Ubuntu File Browser.
Console:
cd /mnt/MOUNTNAME

ls -la

Im Chia Client kannst du die Plots nun im Menü „Plots“ –> „Add Plot Directory“ hinzufügen.

Statische IP Adresse einstellen

Der Farming Raspi sollte im Netzwerk immer unter der IP Adresse erreichbar sein. Dies erleichtert die Administration. Einstellen kannst du dies im Ubuntu Settings Menü „Settings -> Network -> IPv4“. Siehe Screenshot. Die IP Adresse muss natürlich zu deinem Netzwerk passen.
ama

Screen Sharing – Bildschirmfreigabe mit VNC

In Ubuntu ist die Bildschirmfreigabe mit dem VNC Protokoll integriert. Diese kannst du hier aktivieren „Settings -> Sharing -> Screen Sharing“ aktivieren. Siehe Screenshot:

Als Client kann z.B. der VNC Connect von Real VNC verwendet werden. Leider ist das Screensharing recht buggy. Folgende Probleme mit dem Screen sharing habe ich festgestellt und bislang noch keine Zeit für Lösungen gefunden:

  • Nach einem Neustart des Raspberry geht das hinterlegte Passwort verloren und muss neu eingegeben werden
  • Es muss scheinbar ein Bildschirm und Tastatur angeschlossen sein damit es funktioniert
  • Wird der VNC Connect Client verwendet muss in den Optionen „Bildqualität -> hoch“ gewählt werden. Andernfalls sieht man kein Bild.

Bleibt mir noch zu sagen: Happy Farming!

Chia – Tipps und Tricks

Chia Consolen Anwendung

Viele Aufgaben lassen sich auch ohne GUI auf der Konsole erledigen. Die dazu nötige Executable findest du hier:

Windows:
C:\Users\USERNAME\AppData\Local\chia-blockchain\app-1.2.2
Ein guten Einstieg bietet die Chia Hilfe:
chia.exe -h

Linux:
/usr/lib/chia-blockchain/resources/app.asar.unpacked/daemon
Ein guten Einstieg bietet die Chia Hilfe:
./chia -h

Chia Keys anzeigen

Mit folgendem Befehl kannst du dir deine Chia Adressen anzeigen lassen. Wie du zur Chia.exe kommst siehst du im oberen Punkt.
chia keys show

Ergebnis:

Fingerprint: 12345678
Master public key (m): 12345678
Farmer public key (m/12381/8444/0/0): 12345678
Pool public key (m/12381/8444/1/0): 12345678
First wallet address: 12345678

Blockchain und Wallet auf anderen Computer übertragen

Das Herunterladen der Chia Blockchain dauert mitunter viele Stunden oder gar Tage. Wird nun eine zweite Maschine benötigt, z.B. zum Farmen, ist es Sinnvoll diese Zeit einzusparen. Zum Glück lässt sich die Blockchain und die Wallet von einem Computer auf den anderen übertragen. Dies geht auch zwischen Windows und Linux Systemen. Getestet mit Windows 10 und Ubuntu 20.04.
Dazu must du nur die beiden Verzeichnisse „db“ und „wallet“ kopieren. Du findest sie in folgendem Verzeichnis:

Windows (im User Verzeichnis):
C:\Users\USERNAME\.chia\mainnet

Linux (im User Verzeichnis. Falls die Ubuntu GUI verwendet wird. Strg + H drücken um dir die versteckten Verzeichnisse anzuzeigen):

~/.chia/mainnet

Logfiles anschauen

Chia erstellt standardmäßig Logfiles. Diese sind hilfreich um zu Prüfen ob alles Rund läuft, oder um im Fehlerfall eine schnellere Fehlerbehebung zu ermöglichen. Das Standard Log Level ist WARNING. Dieses kann nach INFO geändert werden um mehr Informationen zu erhalten. Die Konfiguration findet sich hier:

C:\Users\USERNAME\.chia\mainnet\config\config.yaml

Suche hier die Zeile
log_level = WARNING
und ändere sie auf INFO. Anschließend muss der Chia Client neu gestartet werden. Beim editieren der Datei must du Aufpassen die Formatierung nicht zu ändern. Bei dem verwendeten YAML Format ist die Einrückung der Zeilen für die Funktion wichtig!

Sobald Chia neu gestartet ist, solltest du hier das Log File sehen. Chia verwendet Logfile Rotation. d.h. es werden nach einiger Zeit mehrere Logfiles erstellt und das älteste gelöscht.
C:\Users\USERNAME\.chia\mainnet\log\debug.log

Verbindungsprobleme beheben

In der Regel sollte der Chia Client ohne manuelle Einstellungen am Router funktionieren. Sollte es doch einmal Probleme mit der Verbidnung geben, kannst du eine Portweiterleitung von Port 8444 am Router anlegen, die auf deinen Chia Rechner verweist.
Weitere Fehlerquellen die du checken kannst sind die Windows Firewall oder dein Virenscanner.

Im Chia Client kannst du unter „Full Node -> Connections -> Connect to other Peers“ versuchen weitere Peer Adressen hinzuzufügen:

node.chia.net:8444
node-eu.chia.net:8444
node-apne.chia:8444

Energieoption für Festplatte anpassen

Die Chia Blockchain fragt regelmäßig die Challenges für den nächsten Block ab. Dazu werden die Plots auf der Festplatte gescannt und ggf. ein Hashwert geliefert der zu der Challenge passt. Diesem Vorgang steht nur eine gewisse Zeit zur Verfügung. Antwortet das System nicht schnell genug verfällt die Chance die Challenge zu gewinnen. Daher sollten die Festplatten auf denen die Plots liegen immer Laufen um die Zugriffszeit so gering wie möglich zu halten. Unter Windows kann man dies in den Energie Optionen einstellen.

Systemsteuerung 🠖 Hardware und Sound 🠖 Energieoptionen 🠖 Energiesparplan bearbeiten

Chia – Plots Erstellen mit Windows PowerShell

Das Erstellen von Chia Plots kann nicht nur über die Chia GUI erfolgen sondern auch auf der Konsole. Dies hat den Vorteil, das kein Full Node betrieben werden muss und der Overhead der GUI entfällt. Außerdem hast du durch die Konsolenausgabe immer einen guten Überblick darüber, in welcher Phase der Plot Erstellung sich der Prozess gerade befindet. Dieser Artikel zeigt dir wie du ein kleines PowerShell Skript anlegst um Plots zu erzeugen.

Als Basis sollte das Skript im Download dienen, oder du legst es mit einem Texteditor deiner Wahl an, fügst den unten stehenden Startbfehl ein und benennst die Dateiendung in „.ps1″um.

invoke-expression ‘cmd /c start powershell -NoExit -Command {cd „C:\Users\USERNAME\AppData\Local\chia-blockchain\app-1.2.2\resources\app.asar.unpacked\daemon\“;$host.ui.RawUI.WindowTitle = „TITLE„; start-sleep 0 ; .\chia.exe plots create -k 32 -b 4000 -n 999 -r 4 -t C:\PATHTOTEMP -d C:\PATHTOFINALDIR -c POOLNFTADDRESS;Read-Host -Prompt „press enter to exit“}‘

Alle Fett markierten Stellen müssen angepasst werden. Insbesondere der Pfad zur Chia.exe und zu den Temp und finalen Plot Verzeichnis. Hierzu must du deinen Windows Benutzernamen (z.B. über den „Taskmanager -> Benutzer“ zu ermitteln) und deine verwendete Chia Version eintragen.

BENUTZER: Dein Windows Benutzername
app-1.2.2: Deine aktuelle Chia Client Version
host.ui.RawUI.WindowTitle: Hier kannst du einen Titel für das Konsolenfenster vergeben. Dies ist besonders hilfreich wenn mehrere Skripte erstellt werden und diese parallel gestartet werden. Dies ist z.B. nötig wenn verschiedene Temp Verzeichnisse genutzt werden.

Ebenso muss der Pfad zu deinem temporären Verzeichnis und zu dem Verzeichnis wo die finalen Plots hin kopiert werden sollen eingetragen werden.

Bei dem -c Parameter trägst du deine Pool NFT Adresse ein. Wie du einem Pool bei tritts wird in diesem Tutorial erklärt. Ebenso wie du deine Pool NFT Adresse ausliest.

Parameter:

  • -k : Plot Format. k32 im Beispiel
  • -b : Maximaler RAM Verbrauch. 4000MB im Beispiel
  • -n : Anzahl zu erstellender Plots. 999 im Beispiel
  • -r : Anzahl der CPU Threads. 4 Gleichzeitig im Beispiel. Nur die erste Phase der Ploterstellung nutzt mehrere Threads. Daher ist es bei der parallelen Erstellung von Plots sinnvoll die Vorgänge etwas zeitlich zu versetzen um die CPU dauerhaft maximal auszulasten
  • -t : Pfad zum Temp Verzeichnis
  • -d : Pfad zum Zielverzeichnis für fertige Plots
  • -c : P2 singleton address (pool contract address for plotting)

Die Parameter kannst du an deine Hardware anpassen. Sie sind aber eine ganz gute Orientierung zum Starten. Eine Übersicht über alle Parameter findet ihr hier. Zum Starten des Plot Vorgangs machst du einfach einen Rechtsklick auf die Skript Datei und wählst „Mit PowerShell ausführen“. Auch das Parallele Erstellen mehrerer Plots gleichzeitig ist möglich, indem du das Skript mehrfach startest. Achte hier auf deinen RAM Verbrauch und die zur Verfügung stehenden CPU Threads.

Chia Pool Farming

Mit der Version 1.2 des Chia Clients ist es nun möglich poolfähige Plots zu erstellen. Hier die Kursfassung wie du einem Chia Pool am Beispiel von XCH Pool beitritts und Plots erstellst:

  1. Download der neusten poolfähigen Chia Client Version (1.2 aufwärts)
  2. Um einen Contract für den Pool zu erstellen brauchst du ein wenig Chia Guthaben. Du kannst dir auf https://faucet.chia.net/ oder auf https://xchfaucet.togatech.org ein paar Mojo auf deine Wallet übertragen lassen.
  3. Damit das Guthaben in deiner Wallet angezeigt und verwendet werden kann muss diese synchronisiert sein.
  4. Danach muss ein Pool NFT erstellt werden. Dies geht mit dem Befehl:
    chia plotnft create -u https://pool.xchpool.org -s pool
    Der Befehl muss auf der Commandozeile (CMD) im „daemon“ Verzeichnis deines Chia Clients ausgeführt werden
    C:\Users\[USERNAME]\AppData\Local\chia-blockchain\[APP VERSION z.B.: app-1.1.6]\resources\app.asar.unpacked\daemon
  5. Überprüfen des Plot NFT mit dem Befehl:
    chia plotnft show
    Merken solltest du hier die „Launcher ID“ und der „P2 singleton address (pool contract address for plotting)“
  6. Auf der Webseite https://explorer.xchpool.org/membersearch kannst du mit deiner Launcher ID überprüfen ob dein Client im Pool registriert ist.
  7. Die Chia Version erlaubt das Erstellen poolfähiger Plots indem der Parameter -c oder –pool_contract_address verwendet wird. Die Pool Contract Address hast du mit dem „chia plotnft show“ ausgelesen.
    chia plots create -c POOL_CONTRACT_ADDRESS

In der Chia Gui siehst du unter dem Menüpunkt „Pool“ wie viele Plots du einsetzt und wie viele Punkte du erworben hast:

Chia Blockchain – Start Plotting & Farming

Chia ist eine Proof of Space and Time (PoST) Cryptowährung des BitTorrent Erfinder Bram Cohen. Anstatt des klassischen Minings wie bei anderen Cryptowährungen, bei denen häufig der Energieintensive Proof of Work Ansatz für den Konsensmechanismus verwendet wird (z.B. bei Bitcoin), werden beim Chia „Mining“ so genannte Plot Files berechnet, die dann später gefarmt werden um Chia Coins (XCH) zu erhalten. Dieses Farming verbraucht deutlich weniger Strom, da nur die Phase der Plot File Erstellung Energieintensiv ist. Für das spätere Farming wird nur wenig CPU Power benötigt. Daher gilt Chia als neue, grünere Alternative zu Bitcoins. Dieser Artikel soll einen kurzen Einstieg in das erstellen von Plot Files und Farming unter Windows geben.

Fallstricke und einige vorab Infos

Das Chia Netzwerk wird gerade total gehypet und wächst daher rasant. Da die Erträge beim Solofarming einer Lotterie gleichkommen, bei der die Gewinnchance steigt, je größer der eigene Speicheranteil am Gesamtnetzwerk ist, kann es aktuell schon sehr lange dauern bis du den ersten XCH Coin gefarmt hast. Dadurch wird das Solofarming immer uninteressanter wenn du nicht im sehr großen Stil einsteigen möchtest. Die kommende Pool Farming Unterstützung sorgt hier hoffentlich für gleichmäßigere und kontinuierliche Einnahmen auch für kleine Farmen. Es scheint langsam loszugehen mit dem Pool Farming. Erste Schritte kannst du mit dieser Anleitung ausprobieren.

Ein weiterer wichtiger Punkt ist die Hardware. Bevor ggf. in neue Hardware investiert wird empfiehlt es sich mit bestehender Hardware Erfahrung zu sammeln und die neue Technologie zu verstehen. Mit einem modernen Desktop PC mit 6+ Kernen, 16GB RAM, einer mindestens 300 GB großen SDD zum Plotten und einigen Terrabyte Festplatte zum Farmen ist man für den Start gut gerüstet. Das Erstellen der Plots ist auch mit einer HDD möglich, dauert aber vergleichsweise lange. Daher ist eine schnelle M2 SSD mit einem möglichst hohen TBW Wert sinnvoll. SSDs verschleißen beim Schreiben und haben damit eine begrenzte Lebenszeit. Die Total Bytes Written (TBW) geben darüber Auskunft, wie viele Daten während der Lebenszeit insgesamt auf eine SSD geschrieben werden können und eignet sich daher um zu berechnen wie viele Plots ca. mit der SSD erstellt werden können. Empfehlenswert ist z.B. die Seagate FireCuda 520 der 4ten Generation. Sie bieten laut Spezifikation einen TBW von 3600 GB.
Wer sich der Risiken und Nebenwirkungen nun bewusst ist kann gerne weiterlesen und Chia auf seinem Rechner einrichten 😉

Chia Installation und Wallet einrichten

Die Installation von Chia unter Windows ist sehr einfach. Dazu muss nur das Setup von Github heruntergeladen und ausgeführt werden. Anschließend kann über die Oberfläche ein neues Wallet in dem deine Coins gespeichert werden erstellt werden.

Das Programm erstellt dir für dein neues Wallet einen Mnemonic Phrase, der dir zum Wiederherstellen deines Wallet dient und auf jedenfall sicher gespeichert und geheim gehalten werden muss.

Im Anschluss findest du dich im Programm wieder. Das Programm startet automatisch einen Sync um den aktuellen Stand der Chia Blockchain zu laden.
Nicht nur der Full Node sondern auch die Wallet muss synchronisiert sein um Gewinne verbuchen und einsehen zu können oder zu farmen. Dies dauert für den ersten Sync mit einigen Stunden bis einen Tag sehr lange. Ein Resync nach einem Update geht dann deutlich schneller. Während des Synchronisierens wird zusätzlich die CPU stärker beansprucht. Der Chia Client kann aber auch jederzeit beendet werden und der Sync Vorgang später fortgeführt werden. Im nächsten Schritt wird das Erstellen von Plots beschrieben. Dies ist auch schon möglich solange der Client noch nicht vollständig synchronisiert ist.

Erstellen von Plots

Kommen wir nun zum Plotting. Hierzu links im Menü auf Plots klicken und „Add Plot“ wählen um eine oder mehrere Plot File(s) zu erstellen. Sind bereits Plot Files vorhanden, so können diese über „Add Plot Directory“ hinzugefügt werden. Generell lässt sich sagen das Erstellen von Plot Files über die Chia Software recht rudimentär ist. Möchte man diese automatisieren und besser steuern sollte auf weitere Software wie den SWAR Chia Plot Manager zurückgegriffen werden. Hier lässt sich besser einstellen wieviel Jobs parallel laufen sollen und wieviel Threads diesen zu Verfügung stehen. Ist ein Job abgearbeitet stellt der Manager automatisch einen neuen ein.

Im nachfolgenden Schritt werden die Einstellungen für die Erstellung der Plot Files durchgeführt:

Choose Plot Size:
Bei der Plot File Größe sollte der Standard bei (101,4GiB – K32) belassen werden. Größere Plot Files machen zum aktuellen Zeitpunkt keinen Sinn. Insbesondere da natürlich mehrere Plot Files dieser Größe erstellt werden können und Chia aktuell kein Pausieren der Plot File Erstellung kann. D.h. wenn ihr den PC einmal neu starten müsst, startet ihr wieder von ganz vorne und es sind womöglich viele Stunden Rechenzeit verloren.

Choose Number of Plots:
Hier kannst du die Anzahl der zu erstellenden Plots einstellen und ob diese parallel oder nacheinander erstellt werden sollen. Beachte das pro Plot Vorgang etwa 3,5GB Ram und 2 Cores benötigt benötigt werden. Wie viele Plots parallel erstellt werden können hängt damit im wesentlichen von den CPU Kernen und RAM in deinem PC ab. Die Dauer pro Plot liegt bei 6-12 Stunden je nach System. Hier heißt es dann etwas ausprobieren was die eigene Hardware schafft. Grundsätzlich lässt sich sagen, dass Plotting eine schnelle CPU, viel Arbeitsspeicher und eine schnelle Festplatte (SSD / NVMe SDD) benötigt. Achte auf jeden Fall da drauf deinem System einige Ressourcen über zu lassen.

Select Temporary Directory
Das temporäre Verzeichnis wird beim Erstellen der Plot Dateien benutzt. Es sollte möglichst schnell sein und ausreichend Speicherplatz zur Verfügung stellen. Pro Plot Vorgang werden temporäre Dateien mit einer Größe von 238,3 GiB (256 GB) erstellt. Dementsprechend groß muss euer schneller Speicher dimensioniert werden. Bei vier parallelen Plots wird somit schon eine NVMe-SSD mit 1,5 TB benötigt. Die finale Plot Datei besitzt eine Größe von 101,4 GiB und sollte auf einen großen, langsamen Speicher transferiert werden, der im nächsten Schritt angegeben wird.

Select Final Directory
Dieses Verzeichnis dient dir als Lagerort für die fertigen Plot Files. Er wird für das Farming genutzt und muss nicht sonderlich schnell sein. Hier bieten sich große, günstige Festplatten an. Nachdem alles eingestellt wurde kannst du mit einem Klick auf „CREATE PLOT“ den Plot Vorgang gestartet starten.

Farming

Der Farming Prozess startet automatisch sobald die Plots fertig erstellt sind und die Software vollständig mit dem Chia Netzwerk synchronisiert ist. Happy Farming!

Weitere Überlegungen zum Chia Farming

Nachfolgend einige weitere Überlegungen zum Chia Coin (XCH) Farming:

  • Du kannst die Chia Blockchain Software auf mehreren Computern mit dem gleichen Schlüssel ausführen. Dazu must du nur anstatt „Create a new wallet“ “IMPORT FROM MNEMONICS (24 Words)” auswählen und deine 24 Mnemonics Wörter in der richtigen Reihenfolge eingeben.
  • Die Chia Software wird schnell weiter entwickelt. Prüfe öfter ob du noch aktuell bist
  • Du solltest die Chia Blockchain Software nicht zu oft Neustarten, da es bis zu einer Stunde dauern kann bis die Software wieder mit der Chia Blockchain synchronisiert ist. In dieser Zeit findet kein Farming statt.
  • Die Windows Energieoptionen sollten so eingestellt werden, das Windows und vor allem nicht die Festplatten sich ausschalten.
  • Wenn die Chia Software deinstalliert wird, bleibt dein Schlüssel erhalten. Um diesen zu löschen must du auf der Programmstartseite „DELETE ALL Keys“ wählen
  • Aktuell erstellte Plots können nicht für das Pool Farming verwendet werden. Sobald Pools verfügbar sind und du umsteigen möchtest, macht es Sinn die alten Plots nach und nach durch Poolfähige Plots zu ersetzen und nicht alle alten Plots mit einem mal zu löschen.

Raspberry Pi – DynDNS mit noip.com

Um auf dem Raspberry Pi Serverdienste anbieten zu können, die über das Internet erreichbar sind, steht vor dem Problem, das die meisten ISP (Internet Service Provider), insbesondere bei DSL-Anschlüssen, eine Zwangstrennung vornehmen und somit die IP-Adresse im Internet wechselt.
Um das Problem zu umgehen bieten DynDNS Anbieter die Möglichkeit eine DNS Adresse (z.B. meinraspi.ddns.net) zu registrieren, die über eine Software auf dem Router oder eben dem Raspberry Pi immer mit der aktuell gültigen IP Adresse aktualisiert wird. Das Tutorial beschreibt das Vorgehen für den DynDNS Anbieter noip.com. Er bietet kostenlose DynDNS Adressen und einen Client der auf dem Raspbian Linux läuft.

1. Registrieren bei no-ip.com
2. Danach wird die DynDNS Adresse über den Menüpunkt Hosts/Redirects auf “Add Host” erstellt.

3. no-ip Update Client auf dem Raspi installieren. Dazu über SSH als USer pi anmelden und den Schritten folgen:

Software herunterladen:

wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz

und entpacken:

sudo tar xf noip-duc-linux.tar.gz

In das neu erstellte Verzeichnis wechseln:

cd noip-2.1.9-1/

Software compilieren/installieren:

sudo make install

Bei der Installation werden die Logindaten für no-ip abgefragt, sowie welche Adresse in welchem Intervall aktualisiert werden soll.
Anschließend kann die no-ip Software gestartet werden:

sudo noip2

Zur Kontrolle ob die Software ausgeführt wird, kann die Prozessliste aufgerufen werden:

ps ax

Damit die no.ip Software beim nächsten Start des Raspberry Pi automatisch gestartet wird kann sie über CRON automatisch gestartet werden.

crontab -e

In die Datei den folgenden Befehl aufnehmen

@reboot cd /home/pi/noip-2.1.9-1 && sudo noip2

Nun ist das Heimnetzwerk über die eingerichtete DNS Adresse aus dem Internet erreichbar. Damit einzelne Dienste, wie z.B. ein Webserver, auf dem Raspberry Pi erreicht werden können muss auf dem Router eine entsprechende Port-Weiterleitung eingerichtet werden.

Logging mit log4j in Maven Projekt integrieren

Log4j Properties in Maven Projekt integrierenLog4j ist eine logging Library der Apache Software Foundation und ermöglicht es Log-Ausgaben im Programm an verschiedenste Ziele zu schreiben. Das bekannteste Ziel ist sicher das Schreiben der Logmeldungen in eine Log-Datei, aber auch das schreiben der Meldungen in eine Datenbank oder das Verschicken per E-Mail ist möglich. Das Ziel der Meldungen wird über sogenannte Log-Appender in der Datei log4j.properties konfiguriert. Diese liegt in einem Maven Projekt in dem Resourcen Verzeichnis. (siehe Bild)

Datei: log4j.properties

# Root logger option
log4j.rootLogger=DEBUG, file
# LogLeel DEBUG und akive appender Console und Log-Datei

# Log to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Log to file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./log.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=2
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Log to mail
log4j.appender.email=org.apache.log4j.net.SMTPAppender
log4j.appender.email.SMTPHost=mail.mydomain.com
log4j.appender.email.SMTPUsername=myuser@mydomain.com
log4j.appender.email.SMTPPassword=mypw
log4j.appender.email.From=myuser@mydomain.com
log4j.appender.email.To=myuser@mydomain.com
log4j.appender.email.Subject=Log of messages
log4j.appender.email.BufferSize=1
log4j.appender.email.EvaluatorClass=TriggerLogEvent
log4j.appender.email.layout=org.apache.log4j.PatternLayout
log4j.appender.email.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Log to DB
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DB.URL=jdbc:mysql://localhost/DBNAME
log4j.appender.DB.driver=com.mysql.jdbc.Driver
log4j.appender.DB.user=user_name
log4j.appender.DB.password=password
log4j.appender.DB.sql=INSERT INTO LOGS VALUES('%x','%d','%C','%p','%m')
log4j.appender.DB.layout=org.apache.log4j.PatternLayout

# CREATE TABLE LOGS
#   (USER_ID VARCHAR(20) NOT NULL,
#    DATED   DATE NOT NULL,
#    LOGGER  VARCHAR(50) NOT NULL,
#    LEVEL   VARCHAR(10) NOT NULL,
#    MESSAGE VARCHAR(1000) NOT NULL
#   );

Die erste Zeile der obigen Datei wird konfiguriert das Meldungen ab dem DEBUG-Level und darunter in eine Datei geschriebenen werden. Der Detailgrad wird mit steigender Anzahl an Meldungen durch die Level OFF, FATAL, ERROR, WARN, INFO, DEBUG und ALL angegeben.
Um log4j in das Programm zu integrieren reicht es die Dependency in der pom.xml hinzuzufügen. Log4j findet die weiter oben gelistete Konfigurationsdatei von alle, wenn sie sich im Resource-Verzeichnis befindet.

<dependencies>
	<dependency>
		<groupId>log4j</groupId>
		<artifactId>log4j</artifactId>
		<version>1.2.17</version>
	</dependency>
</dependencies>

Das Ausgeben der Logmeldungen auf verschiedenen Log-Ebenen ist mit wenigen Zeilen Code erledigt:

import org.apache.log4j.Logger;
public class LoggingTest{
   private static Logger logger = Logger.getLogger(LoggingTest.class);
   logger.info("Info");
   logger.warn("Warn");
   logger.error("Fehlermeldung");
}

WildFly – Debug-Mode aktivieren und mit Eclipse verbinden

Um eine Anwendung im WildFly Applicationserver deployte Anwendung zu debuggen muss eine Debug-Verbindung zwischen IDE und Server hergestellt werden. Dies ist mit wenigen Handgriffen erledigt. Dazu wird zunächst WildFly im Debug-Mode gestartet, indem es mit dem Parameter –debug gestartet wird: „WILDFLY_HOME\bin\standalone.bat –debug“.
Wird der WildFly Server zur Entwicklung genutzt empfiehlt es sich ihn so zu konfigurieren, das er dauerhaft im Debug-Mode startet. Dies kann in der Batchdatei zum Starten dauerhaft aktiviert werden. „WILDFLY_HOME\standalone\bin\standalone.bat“:

set DEBUG_MODE=true
set DEBUG_PORT=8787

Eclipse Debug Konfiguration
Wenn WildFly im Debug-Mode läuft muss nur noch aus Eclipse eine TCP/IP Verbindung zum Port 8787 des WildFly Servers hergestellt werden. Die Eclipse-Konfiguration kann den Bildern entnommen werden. Im Beispiel läuft der Server auf dem lokalen Rechner. Ist dies nicht der Fall muss die IP Adresse des entfernten Widfly Servers genutzt werden. Nachdem die Verbindung zwischen Eclipse und WildFly hergestellt ist, werden Breakpoints die in der linken Leiste im Quellcode gesetzt werden aktiv. Zu erkennen an dem kleinen Häkchen.
Eclipse - WildFly Debug Connection