Go-Ethereum
致命:無法寫入創世塊:不支持分叉排序:未啟用 eip150Block,但在 0 創世塊啟用 eip155Block
我正在嘗試使用以下命令啟動私有 geth 鏈:
geth --datadir=./test-private-blockchain/ init genesis.json
我收到以下錯誤:
Fatal: Failed to write genesis block: unsupported fork ordering: eip150Block not enabled, but eip155Block enabled at 0 genesis block { "config": { "chainId": 4777, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 }, "alloc" : {}, "difficulty" : "0x400", "extraData" : "", "gasLimit" : "0x7A1200", "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "timestamp" : "0x00" }
答案是更新 genesis.json 以包含 eip150Block:
{ "config": { "chainId": 4777, "homesteadBlock": 0, "eip150Block": 0, "eip155Block": 0, "eip158Block": 0 }, "alloc" : {}, "difficulty" : "0x400", "extraData" : "", "gasLimit" : "0x7A1200", "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "timestamp" : "0x00" }
刪除數據目錄:
rm -rf "your data dir"
然後重新初始化。
geth --datadir=./test-private-blockchain/ init genesis.json
我想補充一點,在重新初始化時,如果您只刪除 datadir 的 geth 文件夾中的 chainData 文件夾,您將保留任何以前的帳戶,儘管它們失去了所有的乙太幣。對我來說這很方便,因為我將帳號儲存在我的 Dapps 的參數文件中。當然 Dapps 文件夾也在你的 datadir 中,所以如果你想保留它,但仍然重新初始化區塊鏈本身,這對我有用。