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.
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 nextblockhash
Eigenschaft gibt, da ich eine frisch initialisierte Regtest-Kette habe, dh sie hat keine anderen Blöcke als die Genesis. generate
Aber 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"));
Nixxed
meshcollider