Crypto Mining on a Raspi

Ich habe hier einfach einmal alle möglichen Dinge im Bezug auf Crypto Mining auf dem Raspberry Pi Zero W (Raspi) zusammengestellt.

Wenn man keine spezielle HW anschaffen möchte, teure Grafikkarte (GPU), fallen verschiedene Coins weg. So benötigt man zum Beispiel zum Schürfen von Bitcoin und Litecoin sinnvollerweise GPUs.

Ich habe hier einfach einmal Monero als Zielwährung für Mining auserkoren. Eine Alternative wäre noch Dogecoin. Er kann auf CPU Basis berechnet werden. Natürlich kann man damit nichts verdienen. Aber als Testobjekt ist er sinnvoll, um Erfahrungen mit der Blockchain Technologie zu bekommen. 

sudo apt-get install autoconf libcurl4-openssl-dev libjansson-dev openssl libssl-dev gcc gawk automake git -y
git clone https://github.com/lucasjones/cpuminer-multi.git
cd cpuminer-multi
./autogen.sh
./configure CFLAGS="-march=native"
make
./minerd -a cryptonight -o stratum+tcp://xmr.pool.minergate.com:45560 -u <Emailadresse des Pools> -p x -t 1 -T 300 (--api-bind 0)
or
./minerd -a cryptonight -o stratum+tcp://pool.minexmr.com:4444,5555 -u <Monero-Konto-ID>+10000 -p x -t 1 (-T 300)

Zur Sicherheit sollte regelmäßig die Temperatur der CPU abgefragt werden. Der Miner wird von mir gestoppt, wenn die CPU eine Temperatur von 53° C überschreitet.

Bei Problemen wie

Stratum connection timed out
Stratum connection interrupted

kann man oben mit den Werten -T, –api-bind 0 und der Variable CFLAGS spielen. In anderen Miner Versionen gibt es auch noch interessante Optionen, wie

  • –diff-factor Divide req. difficulty by this factor (std is 1.0)
  • -a cryptolight
  • ein Wert der das Mining über einer gewissen CPU Temperatur unterbricht
  • –max-diff=N

Einfach ausprobieren, was bei euch die besten Ergebnisse bringt.

Leider habe ich bei mir den regelmäßigen Fehler mit dem cpuminer-multi von lucasjones nicht beseitigen können. Deshalb habe ich jetzt eine Überwachung auf das Github Repository erstellt. Dieses überwacht, ob Änderungen an den Dateien veröffentlicht wurden.

Dafür kann man zum Beispiel die Seite Github-File-Watcher nutzen. Als Informationen trägt man die Email, das zu überwachende Repository und bei Files einen „*“ ein.

Update:

Jetzt konnte ich doch noch einen anderen Miner auf dem Raspi zum Laufen bekommen. Es ist zwar nur ein kleiner Unterschied zu der Miner Version von lucasjones aber mir gefällt es auch aufgrund der zahlreicheren Optionen besser.

Hier die Vorgehensweise für die Installation:

apt-get install automake autoconf pkg-config libcurl4-openssl-dev libjansson-dev libssl-dev libgmp-dev make g++ -y
git clone https://github.com/tpruvot/cpuminer-multi
cd /cpuminer-multi
./autogen.sh
./configure --disable-assembly CFLAGS="-Ofast -march=native" --with-crypto --with-curl
make
./minerd -a cryptonight -o stratum+tcp://xmr.pool.minergate.com:45560 -u <Emailadresse des Pools> -p x -t 1 -T 300 (--api-bind 0)

Wenn ich das nächste Mal das Projekt compiliere werde ich die folgenden Einstellungen testen:
-Ofast -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s

Überall lest ihr „-p x“, damit könnt ihr eine WorkerID vergeben, und könnt in Statistiken erkennen , welches Gerät die Hashes erzeugt hat (zum Beispiel „-p RaspiZeroW“).

Update 2:

Das Problem mit den Difficultys hat sich bestätigt. Da diese für meine beiden Testmaschinen zu hoch sind, bekomme ich die Fehlermeldungen. Ich habe jetzt noch einen Pool für Monero gesucht, der Difficultys von minimal 500 anbietet. Einen solchen habe ich zwar nicht gefunden. Aber ich habe einen gefunden, der eine minimale starting Difficulty von 200 anbietet. Der Anbieter heißt Monero.gt. Tragt auf jedenfall eure Emailadresse mit der WorkerID:Email im Passwortfeld ein. Schaut auch auf die Doku von Monero und benutzt den Config-Generator.

INFO: Die Difficulty Rate entscheidet darüber, wie schwer die Berechnung ist. aber vom Wert her gibt es keinen Unterschied für einen Share. Bei einer niedrigen Difficulty wird nur mehr Netzwerkbandbreite benötigt.

Update 3:

Auf der Suche nach einem weiteren Miner für Raspberry bin ich fündig geworden. Im folgenden die Installationsanleitung. Er scheint bei mir noch stabiler zu laufen.

sudo apt-get update
sudo apt-get install git screen
git clone https://github.com/demogorgonz/RaspberryPi-CPUMiner
cd RaspberryPi-CPUMiner/cpuminer-newalgorithms/
chmod +x build.sh
sudo ./build.sh
./minerd -a cryptonight -o stratum+tcp://monero.gt:1111 -u +200 -p : -S -B -t 4

Ergebnis

Die Ergebnisse meiner Test sind erschreckend und doch absehbar.

Performance:

GerätMonero Hashes (in H/s)EURO (pro Woche)
Raspberry Pi Zero W1,20,02 €
ZTE Blade V7 Lite8,50,13 €
i3 in Virtualbox120,20 €

Bei MinerGate kann man die Hashes auf BTC umrechnen.

Also Mining ist auf keinen Fall wirtschaltlich, ohne Geld in zusätzlich HW zu stecken. Trotzdem war es ein sehr interessantes Projekt bei dem man viel Lernen konnte.

Wenn man den Miner im Hintergrund laufen lassen möchte, kann man auch das Hilfstool „screen“ auf Linux verwenden.

Quellen: 

Crypto Mining on a Raspi

Nick Horn ist für den Blog Nicks-Technik.de verantwortlich und interessiert sich für die Themen Lifestyle, Technik, Sport und Reisen. Motto: Der Weg ist das Ziel.

Markiert in:                 

Kommentar verfassen