2015-08-04 6 views

Antwort

5
{ 
    "nonce": "0x0000000000000042", 
    "difficulty": "0x000000100", 
    "alloc": { 

    }, 
    "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000", 
    "coinbase": "0x0000000000000000000000000000000000000000", 
    "timestamp": "0x00", 
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", 
    "gasLimit": "0x16388" 
} 
+0

Das ist für mich gearbeitet. Es ist im Grunde ein leerer Genesis-Block, ohne die anfänglichen Blockverkäufe. – Philosophistry

3

Sie können einfach die generierte here nehmen und die Konten und Salden ändern.

setzen sich auch die Gasgrenze auf eine höhere Zahl wie 0x2dc6c0 (3Mio) und die Schwierigkeit, nach unten zu 0xb

2

Sie alle Genesis-Block im Grunde erstellen können, die Sie mögen, solange sie gültig nach ist zum Yellowpaper, 4.3.4. Block Header Gültigkeit.

Der Genesis-Block zeigt nicht an, auf welcher Blockchain ein Miner arbeitet. Dies wird durch Verbinden mit dem richtigen Peer-to-Peer-Netzwerk oder, wenn Sie den Erkennungsmechanismus in einem Netzwerk mit mehreren ausgeführten Blockchains verwenden, unter Verwendung der Netzwerk-ID definiert.

Der (Genesis) Block beschreibt die Parameter dieses spezifischen Blocks und sie werden nach dem Miner's Algorithmus gesetzt. Natürlich wird jedes illegale Verhalten vom Konsensmechanismus abgelehnt.

Zusammenfassend können Sie die gleiche GB für alle benutzerdefinierten Blockchains verwenden.

Die Werte, die in Bezug auf die mathematischen Validierung sein korrekter haben sind nonce (Proof of Work), mixhash (Fowler-Noll-Vo DAG eingestellten Wert reduziert), Zeitstempel (Erstellungszeit). Die geeky Werte in diesem Beispiel sind eine Kopie von der ursprünglichen Frontier Version Genesis Block. Der parentHash verweist auf den übergeordneten Block in der Kette und der Genesis-Block ist der einzige Block, in dem 0 zulässig und erforderlich ist. Alloc ermöglicht es, Accounts mit Ether vorzubelegen, aber das ist hier nicht nötig, da wir Ether sehr schnell abbauen können.

Die Schwierigkeit definiert die Bedingung, die durch den Miner (Hash) -Algorithmus erfüllt werden muss, um einen gültigen Block zu finden. In einem Testnetzwerk wird es im Allgemeinen klein gehalten, um für jede Iteration einen Block zu finden. Dies ist nützlich zum Testen, da Transaktionen für die Blockchain ausgeführt werden müssen. Die Blockerzeugungsfrequenz ist eine Art der Antwortzeit der Blockchain.

Die gasLimit ist die obere Grenze des Gas dass eine Transaktion brennen. Es ist in den nächsten Block geerbt. extraData ist 32 Bytes freier Text, wo Sie können (intelligente) Dinge auf der Blockchain lernen :) Die coinbase ist die Adresse, die die Bergbau-und Transaktionsausführung belohnt, in Ether, für diesen Block. Es kann hier 0 sein, da es für jeden neuen Block entsprechend der Coinbase des Miners gesetzt wird, der den Block gefunden hat (und die Transaktionen hinzugefügt hat).

Ich habe dies ein bisschen mehr im Detail dokumentiert here.

this helps :)

-1

Insbesondere wird die Entstehungsgeschichte Blockbildung für privates Netzwerk gut in this short article erklärt.

Eine Sache, die ich hier erwähnen möchte, ist, dass der einzige Unterschied des Genesis-Blocks darin besteht, dass er keinen Bezug zum vorherigen Block hat.

+0

Während dies theoretisch die Frage beantworten könnte, [wäre es vorzuziehen] (// meta.stackoverflow.com/q/8259), die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. – default

2
{ 
"config": { 
      "chainId":2010, 
      "homesteadBlock":0, 
      "eip155Block":0, 
      "eip158Block":0 
      }, 
"gasLimit": "0x8000000",  
"difficulty": "0x400", 
"alloc": {} 
} 

Nur über Attribute in Geth Fassung akzeptiert 1,9 (go1.9)