Wie kann ich meine mit dem RPC-Befehl getmemorypool zusammenführen?

Der RPC-Befehl getmemorypool listet alle Transaktionen auf, die in einen Block aufgenommen werden sollen, mit Ausnahme der generierenden Transaktion. Beim Merged Mining muss eine zusätzliche Transaktion hinzugefügt werden, die den Hash eines zu generierenden Namecoin-Blocks enthält.

Wenn man den aus dem Namecoin-Wiki bereitgestellten Quellcode verwendet , wie würde man meinen zusammenführen? Wird die Metmemorypool-Transaktion unterstützt? Wäre die spezielle Namecoin-Transaktion in den aufgelisteten Transaktionen enthalten?

Antworten (1)

Das meiste, was Sie brauchen, wird unter https://en.bitcoin.it/wiki/Merged_mining_specification erklärt

Wenn Sie den Block für die Primärkette (z. B. Bitcoin) erstellen, müssen Sie einen zusammengeführten Mining-Header in die Generierungstransaktion (Coinbase) aufnehmen. Das Format dieser Daten wird unter der URL oben unter „Merged Mining Coinbase“ erläutert.

Wenn Sie beim Hashen der Primärkette einen Hash erhalten, der unter dem Ziel für die Hilfskette (z. B. Namecoin) liegt, können Sie mit getmemorypool einen Block auf dieser Kette erstellen (vorausgesetzt, der Daemon für diese Kette unterstützt getmemorypool).

Um einen zusammengeführten Mining-Block einzureichen, müssen Sie für Namecoin zwei Dinge tun, die Sie beim Mining von nicht zusammengeführten nicht tun würden.

Die erste besteht darin, das auxpow-Bit im Versionsfeld des Blockheaders zu setzen.

BLOCK_VERSION_AUXPOW = (1 << 8)

Der zweite Unterschied besteht darin, dass Sie zwischen dem Header und den Transaktionen ein Auxpow einfügen. Das binäre Layout des Auxpow wird unter der URL oben unter "Aux Proof-of-Work" erklärt.

Das auxpow-Bit im Versionsfeld teilt namecoin mit, dass nach dem Blockheader vor den Transaktionen ein auxpow stehen wird.

Theoretisch müssen bei anderen Altcoins die zusammengeführten Blöcke möglicherweise anders formatiert und/oder anders an ihren Daemon übermittelt werden.