Go-Ethereum

初始化 geth 後是否可以更改 GETH 中的網路 ID?

  • May 28, 2021

我想network_id用 geth 更改我的私有乙太坊網路設置。看來我必須在genesis.json文件中更改它,並且在我開始時也有那個 id geth

但是,要應用在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 有何不同,以及它是如何使用的?.

引用自:https://ethereum.stackexchange.com/questions/99831