2015-08-04 15 views

risposta

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

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

Questo ha funzionato per me. È fondamentalmente un blocco genesis vuoto, senza nessuna delle vendite di blocco iniziali. – Philosophistry

3

È possibile prendere semplicemente quello generato here e modificare i conti e i saldi.

anche mettere il limite di gas a un numero superiore come 0x2dc6c0 (3mio) e spostare la difficoltà verso il basso per 0xb

2

si può sostanzialmente creare qualsiasi Genesi Block che ti piace, a patto che sia secondo valida al Yellow paper , 4.3.4. Validità testata blocco.

Il blocco Genesis non indica su quale Blockchain lavora un minatore. Questo viene definito collegandosi alla giusta rete peer-to-peer o, se si sta utilizzando il meccanismo di scoperta su una rete con più Blockchain in esecuzione, utilizzando l'ID di rete.

Il blocco (Genesi) descrive i parametri di questo blocco specifico e sono impostati in base all'algoritmo del minatore. Ovviamente, qualsiasi comportamento illegale verrà rifiutato dal meccanismo di consenso.

In conclusione, è possibile utilizzare lo stesso GB per tutti gli Blockchain personalizzati.

I valori che devono essere di una corretta in termini di validazione matematica sono nonce (Prova del Lavoro), mixhash (Fowler-Noll-Vo ridotto DAG valore impostato), timestamp (data di creazione). I valori genetici in questo esempio sono una copia della versione originale di Frontier Genesis Block. Il parametro parentHash punta al blocco principale nella catena e Genesis Block è l'unico blocco in cui 0 è consentito e richiesto. alloc consente di "pre-riempire" gli account con Ether, ma non è necessario qui dato che possiamo estrarre Ether molto rapidamente.

La difficoltà definisce la condizione da soddisfare dall'algoritmo Miner (hash) per trovare un blocco valido. In una rete di test, è generalmente mantenuta piccola per trovare un blocco per ogni iterazione. Questo è utile per i test poiché è necessario per eseguire transazioni su Blockchain. La frequenza di generazione dei blocchi è il tipo di tempo di risposta della Blockchain.

Il gasLimit è il limite superiore del Gas che una transazione può bruciare. È ereditato nel prossimo blocco. extraData è 32 byte di testo libero in cui è possibile et (h) ernalizzare le cose intelligenti su Blockchain :) Il coinbase è l'indirizzo che ha ottenuto i premi di esecuzione mining e transazione, in Ether, per questo blocco. Può essere 0 qui, poiché verrà impostato per ogni nuovo blocco in base alla base del Minatore che ha trovato il blocco (e ha aggiunto le transazioni).

Ho documentato un po 'più in dettaglio here.

Spero che questo aiuti :)

-1

In particolare, l'edificio blocco genesi di rete privata è ben spiegato nel this short article.

Una cosa che voglio menzionare qui è che l'unica differenza del blocco genesis è che non ha alcun riferimento al blocco precedente.

+0

Sebbene ciò possa teoricamente rispondere alla domanda, [sarebbe preferibile] (// meta.stackoverflow.com/q/8259) per includere qui le parti essenziali della risposta e fornire il link per riferimento. – default

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

Solo sopra Gli attributi vengono accettati in Geth versione 1.9 (go1.9)