Nerd Miner

Habe jetzt extra den gesamten Threads gelesen.

Weiß das wirklich keiner?

Außerdem würde mich interessieren, wozu das Zubehör (Die Metallstifte in Plastik, das Kabel) dient, das dem Gerät beiliegt. Zum Einrichten habe ich es nicht gebraucht.

1 „Gefällt mir“

static int halfshares; // increase if blockhash has 16 bits of zeroes
static int shares; // increase if blockhash has 32 bits of zeroes
static int valids; // increased if blockhash <= target

Steht so im Code. Also das erste sind dann hashes, die 16 -31 vorangehende Nullen hat, das zweite sind dann die mit 32 und mehr. Valids dann das, worauf wir alle hoffen :smile:

Im Endeffekt zählt das quasi wie nah man an einer richtigen Lösung war. Analogie mit x mal hintereinander eine Münze werfen. Wer als erster 75 in Folge Kopf schafft, gewinnt.

3 „Gefällt mir“

Sehr cool. Vielen Dank für die Info. Weist du auch wieviele vorangehende Nullen ein aktueller Hash haben muss in etwa um valide zu sein?

Das verstehe ich nicht. Aktuell sind es doch 19 führende Nullen die man braucht. Heißt das wenn man dann ein 32 bit Share hat müsste man ein validen Block haben?

Das ist die Stelle wo die Variablen hochgezählt werden (mining.cpp, Zeile 389):

// check if 16bit share
if(hash[31] !=0 || hash[30] !=0) continue;
halfshares++;
// check if 32bit share
if(hash[29] !=0 || hash[28] !=0) continue;
shares++;

Es handelt sich also um einen 16-Bit-Share, wenn die letzten beiden Bytes im Hash-Array eine Null sind. Wenn es sich um einen 16-Bit-Share handelt, wird er auch als 32-Bit-Share gezählt, wenn die beiden vorletzten Bytes des Hash-Arrays eine Null sind.
Trifft eine der beiden Bedingungen nicht zu, wird continue ausgeführt und die Schleife zur Erzeugung der Hashes für ein Block Template fortgesetzt.

Offensichtlich sind die letzten Bytes des Arrays der Anfang des SHA256-Hashes. Wenn nur die letzten zwei Bytes Null sind wären das 16 Nullen und wenn zusätzlich die beiden vorletzten Bytes auch Null sind wären das 32 Nullen.

Nach diesem Verständnis müsste ein 32 bit share demnach die aktuelle Schwierigkeit von 19 führenden Nullen erfüllen? Ich hatte aber bereits zwei 32 bit Shares ohne einen validen Block.

Ich hatte auch schon 3

Ich verstehe den Code leider noch nicht genau. :sweat_smile:
Es kann nicht sein dass es sich beim 32 bit Share um einen erzeugten Block Hash mit 32 führenden Nullen handelt. Die aktuelle Schwierigkeit liegt bei 19 Nullen und das ist schon extrem schwierig. Wie soll das Ding nach paar Tagen Hashes mit 32 führenden Nullen finden?

Vielleicht kann hier jemand aufklären? :smiley:

Man kann sich übrigens die Ausgaben des NerdMiners ansehen wenn man einen Serial Monitor (etwa den in der Arduino IDE) nutzt. Und da gibt er regelmäßig den Target Hash aus.
Bei mir vorhin diesen:
000000000000000000057e690000000000000000000000000000000000000000

Wenn also der erzeugte Hash kleiner oder gleich diesem ist bzw. mindestens genau so viele führende Nullen hat, müsste man einen validen Block erzeugt haben.

Das wird ja immer verrückter :laughing:.

2 „Gefällt mir“

Ich werfe mal eine Vermutung in den Raum. Der obige bzw. Erforderliche hash ist im base 16 (hex bzw. 0 bis 9, dann a bis f) und die 16 bzw. 32 sind binär.
Wobei dann 16bits ja nur einer 0 (in hex) vorne, und 32bits zwei Nullen entspricht? Wäre auch komisch. Gucke ich mir morgen in Ruhe nochmal an.

1 „Gefällt mir“

Ein SHA256 Hash besteht aus 32 Bytes und die hexadezimale Darstellung besteht aus 64 Zeichen. 1 Byte wird durch zwei Hexadezimalzeichen dargestellt (da ein Hexadezimalzeichen nur 4 Bit darstellen kann). Die ersten beiden Nullen im Target Hash repräsentieren also 1 Byte (8 Bit).

Beim 16 Bit Share Check werden die letzten beiden Bytes des Arrays auf Null überprüft. Dies entspricht 4 Nullen in Hex und bei 32 Bit Share wären es weitere 4 Nullen in Hex, also insgesamt 8 führende Nullen. Daher wird ein Hash mit mindestens 4 Nullen am Anfang als 16 Bit Share und einer mit mindestens 8 Nullen als 32 Bit Share betrachtet.

Das könnte es sein, oder? Ein 32 Bit Share wäre dann ein Hash mit 8 führenden Nullen. Nicht schlecht, aber natürlich nicht ausreichend, um den Target Hash mit 19 führenden Nullen zu topen.

4 „Gefällt mir“

Gerade durch Zufall drauf gestoßen: der nerdminer-s9
Finde das Design toppt alles.

Oh ich muß aufpassen, sonst werde ich auch noch schwach.

3 „Gefällt mir“

Zeit: 130 Std.
Hashes: 9400 Mio.
16 Bit Shares: 140k
32 Bit Shares: 3

Wie ist es bei euch? :slight_smile:

Ich bin jetzt soweit dass ich den Quellcode von NerdMiner selbst in VSCode kompilieren kann. Sobald ich Zeit finde werde ich einige kleine Modifikationen vornehmen. Beispielsweise wächst die Zahl für die 16 Bit Shares ziemlich schnell. Die letzte Ziffer ist bei mir nicht mehr ganz zu erkennen und taucht teilweise hinter das Feld mit den Valid Blocks ab. Ich will dass es statt 140000 als 140k angezeigt wird und wenn es 1 Mio. erreicht als 1M. Generell wächst diese Zahl aber so schnell dass ich mich frage ob ich das wirklich wissen will. Ist aber natürlich eine nette Zahlen Aktivität auf dem Display.

Gönn dir! :smiley:

2 „Gefällt mir“

:+1::clap:

Also Anzeige des Bitcoinpreises und Blockhöhe bitte einbauen :stuck_out_tongue_winking_eye:
VG

Gibts schon :wink: : https://twitter.com/BitMaker_/status/1666729805272825856

4 „Gefällt mir“

Danke, das ist der Hammer :kissing_heart:

Der Preis purzelt weiter… :sweat_smile:

https://www.mydealz.de/deals/lilygo-t-display-s3-esp32-s3-19-zoll-mit-rabattcode-nur-1119-eur-2184891

2 „Gefällt mir“

Kann man eigentlich davon ausgehen, dass die Geräte, die unter dem Namen LILYGO® laufen, alle vom selben Hersteller sind? In China ist das ja nicht unbedingt selbstverständlich und es gibt viele Klone des selben Produkts. Die unterscheiden sich manchmal qualitativ sehr und ein niedriger Preis kann ein Hinweis auf weniger qualitative Produktion sein.

Auf Ali Express wird es für 23€ von einem Shop verkauft der wohl zum Lilygo Hersteller gehört.

Auf der Seite von lilygo selbst wird das Teil für 14$ verkauft :wink:

1 „Gefällt mir“

Hab jetzt inklusive aller Rabatte 7,46 Euro bezahlt. Hoffentlich kommt er an. :grinning:

1 „Gefällt mir“

Ich hab das gerade ausprobiert. Es gib zwei Varianten dort. Eine kommt aus China und eine aus einem deutschem Warenlager. Beim ersten kommen im Bestellprozess 5$ und bei letzterem 7,66$ Versandkosten dazu. Ist also wieder ungefähr bei 20€.

https://www.lilygo.cc/products/t-display-s3-1

The products with the prefix „SFN“ in this link will be shipped from the German warehouse, the others will be shipped from China.

Ja genau, etwas unter 20€, ich damals irgendwas mit 17,80€ bezahlt… klar, mit den Angeboten und Coupons sind die 7,50€ von @Bert schon der Hammer! Ich war mir nur nicht sicher, ob bei den ganzen anderen Läden aus fernost das Original verkauft wird, daher hab ich’s beim Hersteller geordert und fand den Preis vollkommen ok :slight_smile: