|
|
|
@ -55,26 +55,29 @@ var CheckpointOracles = map[common.Hash]*CheckpointOracleConfig{ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var ( |
|
|
|
|
MainnetTerminalTotalDifficulty, _ = new(big.Int).SetString("58_750_000_000_000_000_000_000", 0) |
|
|
|
|
|
|
|
|
|
// MainnetChainConfig is the chain parameters to run a node on the main network.
|
|
|
|
|
MainnetChainConfig = &ChainConfig{ |
|
|
|
|
ChainID: big.NewInt(1), |
|
|
|
|
HomesteadBlock: big.NewInt(1_150_000), |
|
|
|
|
DAOForkBlock: big.NewInt(1_920_000), |
|
|
|
|
DAOForkSupport: true, |
|
|
|
|
EIP150Block: big.NewInt(2_463_000), |
|
|
|
|
EIP150Hash: common.HexToHash("0x2086799aeebeae135c246c65021c82b4e15a2c451340993aacfd2751886514f0"), |
|
|
|
|
EIP155Block: big.NewInt(2_675_000), |
|
|
|
|
EIP158Block: big.NewInt(2_675_000), |
|
|
|
|
ByzantiumBlock: big.NewInt(4_370_000), |
|
|
|
|
ConstantinopleBlock: big.NewInt(7_280_000), |
|
|
|
|
PetersburgBlock: big.NewInt(7_280_000), |
|
|
|
|
IstanbulBlock: big.NewInt(9_069_000), |
|
|
|
|
MuirGlacierBlock: big.NewInt(9_200_000), |
|
|
|
|
BerlinBlock: big.NewInt(12_244_000), |
|
|
|
|
LondonBlock: big.NewInt(12_965_000), |
|
|
|
|
ArrowGlacierBlock: big.NewInt(13_773_000), |
|
|
|
|
GrayGlacierBlock: big.NewInt(15_050_000), |
|
|
|
|
Ethash: new(EthashConfig), |
|
|
|
|
ChainID: big.NewInt(1), |
|
|
|
|
HomesteadBlock: big.NewInt(1_150_000), |
|
|
|
|
DAOForkBlock: big.NewInt(1_920_000), |
|
|
|
|
DAOForkSupport: true, |
|
|
|
|
EIP150Block: big.NewInt(2_463_000), |
|
|
|
|
EIP150Hash: common.HexToHash("0x2086799aeebeae135c246c65021c82b4e15a2c451340993aacfd2751886514f0"), |
|
|
|
|
EIP155Block: big.NewInt(2_675_000), |
|
|
|
|
EIP158Block: big.NewInt(2_675_000), |
|
|
|
|
ByzantiumBlock: big.NewInt(4_370_000), |
|
|
|
|
ConstantinopleBlock: big.NewInt(7_280_000), |
|
|
|
|
PetersburgBlock: big.NewInt(7_280_000), |
|
|
|
|
IstanbulBlock: big.NewInt(9_069_000), |
|
|
|
|
MuirGlacierBlock: big.NewInt(9_200_000), |
|
|
|
|
BerlinBlock: big.NewInt(12_244_000), |
|
|
|
|
LondonBlock: big.NewInt(12_965_000), |
|
|
|
|
ArrowGlacierBlock: big.NewInt(13_773_000), |
|
|
|
|
GrayGlacierBlock: big.NewInt(15_050_000), |
|
|
|
|
TerminalTotalDifficulty: MainnetTerminalTotalDifficulty, // 58_750_000_000_000_000_000_000
|
|
|
|
|
Ethash: new(EthashConfig), |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// MainnetTrustedCheckpoint contains the light client trusted checkpoint for the main network.
|
|
|
|
@ -471,10 +474,10 @@ func (c *ChainConfig) String() string { |
|
|
|
|
// Add a special section for the merge as it's non-obvious
|
|
|
|
|
if c.TerminalTotalDifficulty == nil { |
|
|
|
|
banner += "The Merge is not yet available for this network!\n" |
|
|
|
|
banner += " - Hard-fork specification: https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/paris.md)" |
|
|
|
|
banner += " - Hard-fork specification: https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/paris.md" |
|
|
|
|
} else { |
|
|
|
|
banner += "Merge configured:\n" |
|
|
|
|
banner += " - Hard-fork specification: https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/paris.md)\n" |
|
|
|
|
banner += " - Hard-fork specification: https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/paris.md\n" |
|
|
|
|
banner += fmt.Sprintf(" - Network known to be merged: %v\n", c.TerminalTotalDifficultyPassed) |
|
|
|
|
banner += fmt.Sprintf(" - Total terminal difficulty: %v\n", c.TerminalTotalDifficulty) |
|
|
|
|
banner += fmt.Sprintf(" - Merge netsplit block: %-8v", c.MergeNetsplitBlock) |
|
|
|
|