Go-Ethereum
初始化 geth 後是否可以更改 GETH 中的網路 ID?
我想
network_id
用 geth 更改我的私有乙太坊網路設置。看來我必須在genesis.json文件中更改它,並且在我開始時也有那個 idgeth
。但是,要應用在genesis.json中所做的更改,我必須再次這樣做
geth init
,這現在將開始表現為新網路,我將失去我的塊。那麼還有其他方法可以更改network_id嗎?
這現在將開始表現為新網路,我將失去我的塊
如果您更改了文件中的鏈ID
genesis.json
,則舊網路中的塊在新網路上將無效,因此您需要重新開始。EIP-155 - 添加了重放攻擊保護 - 有這樣的說法:
如果 block.number >= FORK_BLKNUM 和 CHAIN_ID 可用,那麼在計算交易的雜湊以進行簽名時,而不是僅對六個 rlp 編碼元素(nonce、gasprice、startgas、to、value、data)進行雜湊處理,您應該散列九個 rlp 編碼元素(nonce、gasprice、startgas、to、value、data、chainid、0、0)
因此,您原始網路上的任何交易都將在原始網路的鏈 ID 1的上下文中進行簽名。它們在具有不同鏈 ID 的新鏈上無效。
1網路ID 和鏈ID之間有一個重要的區別。請參閱乙太坊中的鏈 ID 是什麼,它與 NetworkID 有何不同,以及它是如何使用的?.