當(dāng)建立一個(gè)新的區(qū)塊鏈網(wǎng)絡(luò)時(shí),其中一個(gè)最重要的文件是genesis.json
。這個(gè)文件包括了一些區(qū)塊鏈網(wǎng)絡(luò)的參數(shù)及初創(chuàng)塊信息。
下面是一些常見(jiàn)的genesis.json
參數(shù):
{ "config": { "chainId": 1234, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0, "byzantiumBlock": 0, "constantinopleBlock": 0 }, "coinbase": "0x0000000000000000000000000000000000000000", "difficulty": "0x1", "extraData": "", "gasLimit": "0x8000000", "nonce": "0xdeadbeefdeadbeef", "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "timestamp": "0x00" }
config
包含了區(qū)塊鏈網(wǎng)絡(luò)的各種信息,chainId
是在該節(jié)點(diǎn)上唯一的標(biāo)識(shí)符,確保了該節(jié)點(diǎn)只連接到該區(qū)塊鏈網(wǎng)絡(luò)。其他的...Block
參數(shù)是用來(lái)啟動(dòng)或關(guān)閉某個(gè)網(wǎng)絡(luò)版本的。
coinbase
是第一個(gè)區(qū)塊的礦工獎(jiǎng)勵(lì)地址,difficulty
是以太坊的難度值,gasLimit
是每個(gè)區(qū)塊的 gas 限制。
extraData
是一些附加的信息,可用于傳遞額外的數(shù)據(jù),例如:“這個(gè)區(qū)塊鏈網(wǎng)絡(luò)的起源”或“這個(gè)區(qū)塊鏈網(wǎng)絡(luò)的目的”。mixHash
是可用于驗(yàn)證一個(gè)區(qū)塊是否合法的隨機(jī)值。
parentHash
是當(dāng)前區(qū)塊的前一個(gè)區(qū)塊的哈希值,nonce
是為了滿足區(qū)塊鏈網(wǎng)絡(luò)隨機(jī)性而添加的隨機(jī)值,timestamp
是區(qū)塊的時(shí)間戳。
在創(chuàng)建一個(gè)新的區(qū)塊鏈網(wǎng)絡(luò)時(shí),必須謹(jǐn)慎配置genesis.json
,以確保網(wǎng)絡(luò)穩(wěn)健并且運(yùn)行順暢。