Wie finde ich einen Pubkey und den nbits-Wert, um einen Genesis-Block zu generieren?

Ich hoffe, eine neue Kryptowährung aus einer Bitcoin-Fork zu erstellen, hauptsächlich zum Lernen und ein bisschen Spaß. Ich habe diese Antwort grob befolgt , um so weit zu kommen, wie ich bin, aber der Genesis-Generator benötigt einen Parameter pubkeyund einen nBitsParameter, und ich habe keine Ahnung, wie ich diese bekomme.

Alle Ratschläge oder Ressourcen, die sich auf diese Parameter oder die Erstellung von Kryptowährungen im Allgemeinen beziehen, wären großartig.

Hast du versucht, die Begriffe zu googeln? ZB erster Treffer für nbits . pubkeyist ein öffentlicher Schlüssel, der einem beliebigen privaten Schlüssel unter Ihrer Kontrolle entspricht.

Antworten (3)

Ausführliche Erklärung der nBits-Codierung https://bitcoin.org/en/developer-reference#target-nbits

Im wahrsten Sinne des Wortes spielt die genaue Wahl des Pubkeys keine Rolle. Wie berechne ich Merkle Root für den Genesis-Block?

Genesis-Block-Coinbase kann nicht ausgegeben werden Warum kann der Genesis-Block-Coinbase nicht ausgegeben werden?

Der öffentliche Schlüssel spielt keine Rolle, im Genesis-Block werden keine Coins erstellt.

nBits entscheidet über die Schwierigkeit der Blöcke und wirkt sich darauf aus, wie lange das Mining dauern wird. Sie müssen auch Ihren Daemon-Code ändern, um diese Schwierigkeit zuzulassen.

Könnten Sie mehr auf nBits eingehen, vielleicht einen kleinen Einblick geben, wie man es auswählt, und auch erklären, was Sie meinen, wenn Sie meinen Daemons-Code ändern.
@karimkorun: Es ist immer noch nützlich, den entsprechenden privaten Schlüssel zu haben, falls Sie jemals eine Nachricht signieren möchten, um zu beweisen, dass Sie sie erstellt haben. ;)
Die Münzen befinden sich in der Coinbase Genesis Block, alle 50 Stück. Aber sie können nicht ausgegeben werden, wie an anderer Stelle dokumentiert.

Sie können die tatsächlichen Zahlen sehen, die im Quellcode des Bitcoin-Kerns fest codiert sind

CreateGenesisBlock(1231006505, 2083236893, 0x1d00ffff, 1, 50 * COIN)

wo die Funktionssignatur ist

static CBlock CreateGenesisBlock(uint32_t nTime, uint32_t nNonce, uint32_t nBits, int32_t nVersion, const CAmount& genesisReward)