Ermittlung des Genesis-Transaktionswerts oder genesis_tx

Gibt es eine Möglichkeit, den Hash der Genesis-Transaktion (genesis_tx) zu bestimmen? Ich kenne die Genesis-Blocknummer, aber wie bestimmen Sie genesis_tx? Ich suche diesen Hash für einen Altcoin, der von Litecoin gegabelt wurde.

Antworten (2)

Sie können es auch von der Befehlszeile mit usw. abrufen bitcoin-cli.litecoin-cli

Für Litecoin im Regtest-Modus zum Beispiel zuerst den Hash des Genesis-Blocks ( height = 0) abrufen:

$ litecoin-cli getblockhash 0

die zurückkehrt 530827f38f93b43ed12af0b3ad25a288dc02ed74d6d7857862df51fc56c416f9.

Holen Sie sich dann den Genesis-Block mit seinem Hash:

$ litecoin-cli getblock 530827f38f93b43ed12af0b3ad25a288dc02ed74d6d7857862df51fc56c416f9

was zurückgibt:

{ "hash": "530827f38f93b43ed12af0b3ad25a288dc02ed74d6d7857862df51fc56c416f9", "confirmations": 1, "strippedsize": 280, "size": 280, "weight": 1120, "height": 0, "version": 1, "versionHex": "00000001", "merkleroot": "97ddfbbae6be97fd6cdf3e7ca13232a3afff2353e29badfab7f73011edd4ced9", "tx": [ "97ddfbbae6be97fd6cdf3e7ca13232a3afff2353e29badfab7f73011edd4ced9" ], "time": 1296688602, "mediantime": 1296688602, "nonce": 0, "bits": "207fffff", "difficulty": 4.656542373906925e-10, "chainwork": "0000000000000000000000000000000000000000000000000000000000000002" }

Beachten Sie, dass es keine nextblockhashEigenschaft gibt, da ich eine frisch initialisierte Regtest-Kette habe, dh sie hat keine anderen Blöcke als die Genesis. generateAber selbst wenn ich Blöcke mit say oder generieren würde generatetoaddress, würden alle Felder wie oben gezeigt bleiben. Einziges zusätzliches Feld wäre eine nextblockhash.

Wie @MeshCollider in seiner Antwort sagte, stimmen seine txid und die merkeRoot überein, da der Genesis-Block eine einzige Coinbase tx hat.

Der Coinbase-Transaktions-Hash des Genesis-Blocks ist derselbe wie der Merkle-Root des Blocks, da die Coinbase-Transaktion die einzige Transaktion im Genesis-Block sein sollte. Sie sollten es in chainparams.cpp finden können, wenn die Codebasis immer noch ähnlich wie Bitcoin ist, etwa so: https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp#L125

assert(genesis.hashMerkleRoot == uint256S("0x4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"));
Es wird von Litecoin gegabelt, also sollte es ähnlich sein. Genesis_tx ist also im Wesentlichen der Merkleroot?
@Nixxed Ja, das habe ich gesagt ;)