I have a Proof-of-Authority
private Ethereum network that has Byzantium EVM
version and created by clique
engine. I have a single miner that has Geth version: v1.8.27
.
{
"config": {
"chainId": 23422,
"homesteadBlock": 1,
"eip150Block": 2,
"eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"eip155Block": 3,
"eip158Block": 3,
"byzantiumBlock": 4,
"clique": {
"period": 15,
"epoch": 30000
}
},
}
Please see my configuration file: custom.json.
When I start geth I get following output:
INFO [07-10|13:46:36.647] Initialised chain configuration
config="{ChainID: 23422 Homestead: 1 DAO: <nil> DAOSupport: false EIP150: 2
EIP155: 3 EIP158: 3 Byzantium: 4 Constantinople: <nil>
Petersburg: <nil> Engine: clique}"
I assume since Constantinople: <nil>
in the configuration file and I cannot alter the custom configuration file there is no way I can hard fork the private chain.
The configuration is fixed via constants in the code (see ChainConfig). A custom configuration can be provided in genesis specification file, however, this is only applicable when setting up a new chain.
Hence, currently the only way to make a hard fork in a private network is to ensure that all participants shutdown/upgrade/restart in a predefined time slot.
// I have updated the geth version but in general I am not sure to check that whether the private chain is updated.
[Q] I was wondering, is it possible to hard fork a private chain that has different EVM version to Constantinople EVM
?