Passiert nichts wenn du auf den Connect Button klickst? Dann sollte eigentlich ein Fenster erscheinen wo du den seriellen Port wählst. Der heißt in der Regel ttyACM0.
Du könntest es mal mit dem Chrome Browser probieren.
Passiert nichts wenn du auf den Connect Button klickst? Dann sollte eigentlich ein Fenster erscheinen wo du den seriellen Port wählst. Der heißt in der Regel ttyACM0.
Du könntest es mal mit dem Chrome Browser probieren.
Chrome ist der Browser der Wahl! Hatte anfangs auch meine Probleme. Brave, FireFox und selbst Chronium unter Linux und MacOS haben nicht funktioniert.
Nimm Chrome und es passt
Mit Chromium basierte Browser sollte es auf dem Handy funktionieren. Zumindest hat es bei mir mit Brave übers Handy funktioniert.
Super, mit Chrome klappts und mit der neuen Firmware 1.5.1_beta funktionieren auch die Knöpfe zum Wechseln des Bildschirms. Momentan noch 0 Valid Blocks
DANKE!
Die arme Null wird wohl bis in alle Ewigkeit die Stellung halten müssen. Wäre es nicht schön wenn es ab und zu mal vorübergehend von der 1 abgelöst werden würde?
Joke mode:
Der Wert 0 ändert sich von Zeit zu Zeit auf 1 und nach einer zufälligen Zeit fällt es wieder auf den echten Wert 0 zurück. Das passiert nur wenn der echte Wert wirklich noch Null ist. Das heißt, jedes Mal, wenn eine 1 erscheint, kann man ein bisschen hoffen, dass es so bleibt und nicht schon wieder ein joke ist. Vorausgesetzt, man überprüft nicht bei jeder 1 sofort voller Hoffnung die Bitcoin-Adresse, um instant eine bittere Enttäuschung zu erleben. Sonst wäre das ein sad mode.
Probiere ich mal bei meiner modifizierten firmware aus.
Man kann übrigens eine serielle Verbindung zum Nerd Miner aufbauen und einige zusätzliche Informationen erhalten, wie die regelmäßig empfangenen Daten von solo.ckpool.org.
Unter Linux (Debian/Ubuntu):
Zuerst installiert man sich ein Program womit man serielle Verbindungen aufbauen kann. Beispielsweise picocom.
sudo apt-get install picocom
Der Nerd Miner muss über USB angeschlossen sein. Dann kann man sich mit dem folgenden Befehl verbinden.
picocom -b 115200 /dev/ttyACM0
-b 115200 ist die Baudrate und ttyACM0 ist die Gerätedatei die im Verzeichnis /dev auftaucht wenn der Nerd Miner angeschlossen ist. Die 0 am Ende von ACM0 ist die Nummerierung. Falls ihr einen zweiten Nerd Miner oder andere ähnliche USB Geräte angeschlossen habt, könnte es unter /dev mehrere solcher Gerätedateien geben. Also etwa ttyACM0, ttyACM1, ttyACM2 usw. Dann muss man den Befehl oben entsprechend anpassen. Möglicherweise müsst ihr den Befehl mit sudo ausführen.
Nachdem die serielle Verbindung aufgebaut ist kann man die laufenden Log Informationen des Nerd Miners sehen. Um die Verbindung wieder zu trennen drückt man auf der Tastatur Strg+a und dann Strg+x.
Unter Windows:
Mit dem Putty-Tool können unter anderem SSH-Verbindungen, aber auch serielle Verbindungen hergestellt werden.
Putty herunterladen und installieren oder die putty.exe herunterladen die ohne Installation auskommt.
Wenn man Putty startet sieht man folgendes:
Die nötigen Einstellungen sind auf dem Screenshot vorgenommen und können so übernommen werden. Im Feld Serial line trägt ihr den COM-Port des Nerd Miners ein. Im Feld Speed die Baudrate. Und unter Connection type wählt man Serial aus. Wenn man will kann man die Einstellungen unter einem gewählten Session Namen speichern.
Man sollte darauf achten den richtigen COM-Port anzugeben. Bei mir ist es COM5. Es kann aber auch COM4 oder ein anderer sein. Ihr könnt im Geräte-Manager von Windows den COM-Port der angeschlossenen USB Geräte sehen.
In diesem Video wird gezeigt wie:
Achtung: Das ist nicht schlimm, aber nur zur Info. Sobald man die serielle Verbindung mit Putty trennt, startet der Nerd Miner neu. Das ist bei mir so und ich weiß nicht woran das liegt. Vielleicht kann jemand etwas dazu sagen? Unter Linux mit picocom passiert das nicht.
Wozu dient das ganze? Naja wenn mans nicht kennt, macht Spaß! Probiert herum und schaut euch die Log Informationen vom Nerd Miner an!
Es ist natürlich auch nützlich beim debuggen. Wenn etwas nicht funktioniert, können die Logs Aufschluss über die Ursache geben.
Nutze die Beta damit die Knöpfe auch funktionieren. Leider fällt nach einigen Stunden die Hashrate auf 0 und bleibt auch da. Hört man ja von einigen. Gibt es da mittlerweile einen Workaround?
Hier wurde schon mehrfach geschrieben, dass es Probleme mit dem WLAN Empfang geben kann. Wie ist die Reichweite zum WLAN Router?
Du könntest dir die Logs anschauen die über die serielle Verbindung ausgegeben werden.
Danke. Werde mich mal dran versuchen. Das Gerät liegt einen Meter neben dem Router.
Habt ihr euch gefragt wieso die Hashrate regelmäßig kurzzeitig auf Null fällt?
Wer die beta Version 1.5.1 der Firmware installiert hat dürfte bemerkt haben dass die Hashrate in kurzen Abständen vorübergehend auf Null fällt. Das passiert, wie man auch an der seriellen Ausgabe sehen kann, weil alle 30 Sekunden ein neues Block Template aus dem Pool kommt. Erkennbar auch an der Block Template Nummer auf dem Display.
Dabei unterbricht der Miner das Mining und beginnt mit dem neuen Block Template zu minen.
Was ich nicht verstehe ist, warum es alle 30 Sekunden ein neues Block Template sein muss.
In der älteren stable Firmware war dies nicht der Fall. Dort wurde ein Block Template solange verwendet, bis eine Nonce von 1.000.000 erreicht war. Erst dann wurde ein neues Block Template aus dem Pool angefordert. Wenn in dieser Zeit ein neuer Block im Netzwerk gefunden wurde, hat der Nerd Miner das nicht mitbekommen und kurzzeitig ein veraltetes Block Template verwendet.
Mit der Beta Firmware hat sich das geändert. Ich hätte aber erwartet, dass der Nerd Miner jetzt neue Blöcke registriert (weil man die Daten ja sowieso für die Blockhöhenanzeige abruft) und dann auf einem alten Template aufhört zu minen. Stattdessen kommt alle 30 Sekunden ein neues Block Template.
Ergänzung für den Mac:
Unter (English) SerialLogger | Hanis Sammelsurium kann man den SerialLogger laden (benötigt Java SDK bzw. https://adoptium.net/de/).
Typische Linux tools wie minicom sind auch für den Mac verfügbar. Man kann es mit dem Homebrew Paketmanager leicht installieren.
Übrigens kann es mit der beta Firmware zu Abstürzen kommen. Es ist mir auch passiert. Wenn man den Nerd Miner mit der Global Stats Anzeige laufen lässt, kann es passieren, dass er nach einer Weile abstürzt und neu startet.
guten morgen zeit eine woche bekomme ich nur 0000 KH/s ich habe die mining adresse btc.zsolo.bild benutz war alles ok und auf ein mal bekomme ich nur 0000, kann mir jemand helfen.
ChatGPT hat wieder einmal geholfen.
Der Pool sendet alle 30 Sekunden einen neuen Block Template weil Transaktionen im Mempool sich ändern können. Hätte ich mir eigentlich denken können. Wobei vom Poolbetreiber eingestellt werden kann wie oft der Block Template aktualisiert wird. Alle 30 oder 60 Sekunden sind wohl gängige Werte.
Wird auch hier erklärt:
Willkommen im Forum!
Es wäre hilfreich zu wissen was du bereits ausprobiert hast. Sicherlich Gerät schon neu gestartet? Reichweite zum WLAN Router überprüft? Flashspeicher mit dem ESP32 Webtool gelöscht und Firmware neu installiert? Logs versucht anzusehen?
Moin DeTec,
gibt es für mich als Leihen eine möglichkeit deine Aussage zu überprüfen? Verstehe mich nicht falsch, no front, deine Schlussfolgerungen mit 4xNullen und 8xNullen macht für mich absolut Sinn, keine Frage.
Aber selbst die Plebs von BitMaker vertreten hierzu eine andere Position. Wie hier zu sehen…
Was ist denn jetzt richtig?!
ChatGPT gibt dir übrigens Recht
Lustig, da hat jemand meinen Forumsbeitrag auf Englisch als Antwort gepostet.
https://twitter.com/BitMaker_/status/1673948848652165127
Und da stimmt der BitMaker der Antwort auch zu. Hm?
Ich vermute ihm ist ein Flüchtigkeitsfehler unterlaufen?
Meiner Ansicht nach bestätigt der Quellcode das auch:
Ein hash Array mit 32 Elementen. Es ist der SHA256 Hash dass ja auch aus 32 Bytes besteht. Jeder Eintrag ist somit ein Byte (8 bit) und ein Hexadezimalzeichen kann nur 4 Bit darstellen (siehe Wiki, Google usw.). Das passt eigentlich.
Natürlich ist es möglich dass ich ein Fehler gemacht habe. Muss aber ein ziemlich dummer Fehler sein dass ich einfach nicht erkenne. Für Korrekturen wäre ich jedenfalls dankbar.
Und die Statistik spricht auch dafür. Wenn ich keine Fehler gemacht habe ist es nämlich so dass man für 2 führende Nullen im Hash im Durchschnitt 2^8 Hashes erzeugen muss und für 4 führende Nullen im Durchschnitt 2^16 und für 8 Nullen dann 2^32 Hashes usw.
Das kann man mit dem folgenden Python Script überprüfen:
import hashlib
nonce = 0
count = 0
zeros = 2
bit = zeros * 4
while True:
if nonce == (100 * (2**bit)):
print(count)
break
sha256 = hashlib.sha256()
input_ = nonce.to_bytes(32, "big")
sha256.update(input_)
hash = sha256.hexdigest()
if hash[:zeros] == zeros * "0":
#print(hash, nonce)
count += 1
nonce += 1
In den ersten 25.600 Hashes (100 * 2**8) werden insgesamt 115 Hashes mit 2 führenden Nullen gefunden. Das heißt im Durchschnitt 1 Hash mit 2 Nullen pro 256 Hashes. Das verhält sich immer so bei zufälligen Eingabedaten. Also auch wenn man Bitcoin Blöcke hasht.
Diese Verteilung passt auch zu dem was ich auf meinem Nerd Miner sehe. Rund 6 Mrd. Hashes wurden erzeugt und es hat noch keinen einzigen 32 Bit Share gefunden. Nach der statistischen Wahrscheinlichkeit müssten es aber schon tausende sein. Auch passt die Zahl von rund 85.000 16 Bit Shares bei rund 6 Mrd. Hashes. Es entspricht der zu erwartenden Häufigkeit für Hashes mit 4 führenden Nullen.
Hier nun der eindeutige einfache Beweis
Ich habe den Code von der Firmware so geändert dass über die serielle Ausgabe die gefundenen 16 Bit Shares ausgegeben werden:
// check if 16bit share
if(hash[31] !=0 || hash[30] !=0) continue;
halfshares++;
// Meine Änderung für die Ausgabe:
Serial.print("16 bit share ");
for (size_t i = 0; i < 32; i++)
{
Serial.printf("%02x", hash[i]);
}
Das sieht dann in der Konsole so aus:
Man sieht es in den Zeilen die mit „16 bit share“ anfangen. Da der Anfang vom Hash am Ende des Arrays liegt wird es umgekehrt angezeigt. Die führenden Nullen sind am Ende des Hashes zu sehen.
Damit steht fest, ein 16 Bit Share ist ein Hash mit 4 führenden Nullen!
Auf einen 32 Bit Share wollte ich jetzt nicht warten, weil das Tage dauern kann. Aber die Logik ist denke ich klar.