Ich versuche zu verstehen, wie der ganze Prozess abläuft. Hier ist, wie ich es derzeit verstehe.
Mining-Client -> Pool-Server -> Bitcoind
getwork
:
- Der Mining-Client ruft
getwork
vom Pool-Server auf, und dieser wiederum ruftgetwork
(oder etwas anderes?) von Bitcoind auf.
stratum
:
- Der Mining-Client bindet den Pool-Server mit dem Stratum-Protokoll ein, und der Pool-Server ruft
getwork
(oder etwas anderes?) von Bitcoind auf.
getblocktemplate
:
- Aufrufe des Mining-Clients
getblocktemplate
und Aufrufe des Pool-Serversgetblocktemplate
von Bitcoind.
Und ich verstehe, dass der Pool-Server mehr tut, als nur Informationen weiterzuleiten, aber ich wollte es einfach halten. Ich möchte nur verstehen, wie alles zusammenfließt und welche Anrufe es macht.
Jede Hilfe wird sehr geschätzt!
getwork
ist in jeder Hinsicht aufgrund seiner Ineffizienz vollständig veraltet. An diesem Punkt kann ein einzelnes ASIC-Gerät einen vollständig bitcoind
mit Anfragen überschwemmen, da es in der Lage ist, die 32-Bit-Nonce in Sekundenbruchteilen zu erschöpfen. Die Situation ist so ernst, dass Pools wie BTC Guild außergewöhnlich hohe (6%+) Gebühren für Kunden erheben getwork
, um sie dazu zu bringen, auf effizientere Methoden umzusteigen.
Intern werden Pools wie Eloipool verwendet getblocktemplate
, um Arbeit für die Clients zu generieren und dann je nach Anforderungstyp stratum
oder getblocktemplate
zur Kommunikation mit den Mitarbeitern zu verwenden. getwork
ist in keiner Phase beteiligt. Tatsächlich ist es derzeit für eine vollständige Entfernung an einem bestimmten Punkt vorgesehen.
xil3
Eloipool
so ziemlich dieselbe Getblock-Vorlage weitergegeben, die sie von Bitcoin erhalten?Anonym
jsonrpc_getblocktemplate.py
her würde ich sagen.xil3