Duinocoin Version 3.0 veröffentlicht

Die neue Version bringt höhere Hash-Leistung auf Arduino & Co.

Das Entwicklerteam rund um den Duinocoin-Erfinder Robert Piotrowski (revoxhere) hat Version 3.0 der auf Mikrocontroller zugeschnittenen Kryptowährung veröffentlicht.

Die Version 3.0 der Duinocoin-Software bringt auf dem Arduino Uno, den ESP8266/ESP32-Boards und anderen Mikrocontroller mehr Geschwindigkeit und damit höhere Hash-Raten beim Mining. Für den ESP8266/ESP32 gibt es schickes, webbasiertes Dashboard und der PC-Miner schafft Dank "fasthash" eine bis zu zehnmal höhere Hash-Rate.

Anzahl der DUCO-Miner steigt auf über 20.000

Duinocoin Logo

Aktuell (am 07. Februar 2022) arbeiten im Duinocoin-Netzwerk etwa 8000 ESP8266, 7000 Arduino, 800 PCs, 700 Raspberry Pi, 200 ESP32 und 200 Web-Miner, 100 Smartphones und 100 sonstige Miner. Der Duinocoin (DUCO) steht inoffiziell bei zarten 0,00118381 US$.

Hash-Rate auf PC verzehnfacht!

Die alte Duinocoin-Software Version 2.74/2.75 stammt vom 15 November 2021 und lief recht stabil. Vor dem neuen Major-Release 3.0 gab es einen Release Candidate "3.0rc", der bereits drei Tage später durch das endgültige 3.0-Release abgelöst wurde. Die neue Duinocoin-Software steht wie üblich auf Github zum Download bereit.

Für PC- und Raspberry Pi-Benutzer dürfte die neue "fasthash"-Funktion des PC-Miner interessant sein, weil sie eine bis zu zehnfach höhere Hash-Rate liefern soll. Technisch sicher ein deutlicher Schritt nach vorne. In Anbetracht des Kolka-Systems, das schwache Systeme fair und damit höher belohnt als schnelle Systeme, wird sich die Zusatzleistung aber kaum in DUCO auszahlen.

ESP8266/ESP32 mit Dashboard

Neu in Version 3.0 ist ein Dashboard für die ESP-Familie. Miner mit dem ESP8266 und dem ESP32 zeigen über einen Mini-Webserver unter ihrer IP-Adresse eine kleine Übersicht über die Hash-Rate und einige weitere Infos. Bei größeren Mining-Farmen sollten diese Infos besser auf einer einzigen Webseite zusammengefasst werden.

10% schneller: Compiler-Optimierung für Arduino und ESP8266/ESP32

Wer Änderungen im Mining-Algorithmus (DUCO-S1) sucht wird leider enttäuscht. Die Geschwindigkeitssteigerung für die Mikrocontroller entsteht durch die Optimierung des GNU C Compiler (GCC). Statt wie zuvor mit der Standardeinstellung wird die Duinocoin-Software nun speziell auf Geschwindigkeit optimiert:

#pragma GCC optimize ("-Ofast")

In der Standardeinstellung optimieren der GCC und andere Compiler den Code für Mikrocontroller in Hinblick auf die Größe - versuchen also, möglichst kleine Binaries (das auf dem Mikrocontroller ausführbare Programm) zu erzeugen. Der Grund: Bei einem Mikrocontroller - beispielsweise in einer Waschmaschine - kommt es nicht auf ein paar Prozent mehr Geschwindigkeit beim Ausführen der Software an. Viel wichtiger ist es, bei dem Mikrocontroller ein paar Cent sparen zu können indem beispielsweise eine Version mit etwas weniger Speicher verwendet wird - alternativ kann man so in einen bereits eingeplanten Mikrocontroller vielleicht ein paar zusätzliche Funktionen einbauen.

Duinocoin Code Version 3.0

Die Duinocoin-Software in der Version 3.0

Eine Optimierung auf Geschwindigkeit macht manchmal bei Echtzeit-Anwendungen Sinn, beispielsweise bei der Software einer Drohne, einer Kamera oder vielleicht bei einem 3D-Drucker. Beim Duinocoin ist diese Optimierung eigentlich nicht notwendig, da das Kolka-System schwächere Systeme mit geringerer Hash-Leistung sowieso automatisch besser belohnt als schnelle Systeme. Trotzdem: Mehr Geschwindigkeit beim Schürfen sieht immer gut aus und schadet ja nicht... oder?

Probleme durch die Optimierung?

Die Optimierung auf Geschwindigkeit bedeutet automatisch, dass das Binary für den Mikrocontroller größer wird. Das ist beim Arduino UNO und den ESP8266/ESP32 vollkommen belanglos, kann bei einem ATtiny-Mikrocontroller mit nur wenigen KByte Speicher aber problematisch werden. Sollte die Mining-Software nicht in den Speicher des Controllers passen, kann man die obige Option entfernen.

TIPP: Wenn es ganz eng wird im Speicher

Sollte die Duinocoin-Software auch mit der Standardeinstellung (ohne obige #PRAGMA-Anweisung) so gerade eben nicht mehr in den Speicher eines Mikrocontroller passen, könnte ein

#pragma GCC optimize ("-Os")

helfen. Mit "-Os" für "size" schaltet der GCC alle Optimierungsmöglichkeiten von "-O2" ein - ausgenommen von sechs Optionen die Platz kosten. Passt es immer noch nicht, kann man den GCC per "-Oz" anweisen, aggressiv auf Speicherplatz zu optimieren, auch wenn es zu Geschwindigkeitseinbußen kommt. Mehr zu den Optimierungsoptionen des GCC finden sich in dessen offizieller Dokumentation im Kapitel 3.11 Options That Control Optimization.