From 8639b0fae975a5e65dea16fe5321168ac0aef128 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Mon, 24 Oct 2016 11:40:58 +0300 Subject: cmd/utils, core, params: explicitly pick reprice fork for fast sync --- cmd/utils/flags.go | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'cmd') diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index 5e2dcf8c9..71777ce60 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -804,6 +804,13 @@ func MakeChainConfigFromDb(ctx *cli.Context, db ethdb.Database) *core.ChainConfi config.HomesteadGasRepriceBlock = params.MainNetHomesteadGasRepriceBlock } } + if config.HomesteadGasRepriceHash == (common.Hash{}) { + if ctx.GlobalBool(TestNetFlag.Name) { + config.HomesteadGasRepriceHash = params.TestNetHomesteadGasRepriceHash + } else { + config.HomesteadGasRepriceHash = params.MainNetHomesteadGasRepriceHash + } + } // Force override any existing configs if explicitly requested switch { case ctx.GlobalBool(SupportDAOFork.Name): -- cgit v1.2.3 From f0dbec0c93a772b0f3553399126d8c49bfcc85d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Sat, 29 Oct 2016 13:33:57 +0300 Subject: cmd, params: only set default fork configs for test and mainnet --- cmd/geth/dao_test.go | 10 ++++----- cmd/utils/flags.go | 59 ++++++++++++++++++++++++++++++---------------------- 2 files changed, 39 insertions(+), 30 deletions(-) (limited to 'cmd') diff --git a/cmd/geth/dao_test.go b/cmd/geth/dao_test.go index 59730b17f..56e77ba0b 100644 --- a/cmd/geth/dao_test.go +++ b/cmd/geth/dao_test.go @@ -116,19 +116,19 @@ func TestDAOInitOldPrivnet(t *testing.T) { testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{}, nil, false) } func TestDAODefaultOldPrivnet(t *testing.T) { - testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{false, false}}, params.MainNetDAOForkBlock, true) + testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{false, false}}, nil, false) } func TestDAOSupportOldPrivnet(t *testing.T) { - testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{true, false}}, params.MainNetDAOForkBlock, true) + testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{true, false}}, nil, true) } func TestDAOOpposeOldPrivnet(t *testing.T) { - testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{false, true}}, params.MainNetDAOForkBlock, false) + testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{false, true}}, nil, false) } func TestDAOSwitchToSupportOldPrivnet(t *testing.T) { - testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{false, true}, {true, false}}, params.MainNetDAOForkBlock, true) + testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{false, true}, {true, false}}, nil, true) } func TestDAOSwitchToOpposeOldPrivnet(t *testing.T) { - testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{true, false}, {false, true}}, params.MainNetDAOForkBlock, false) + testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{true, false}, {false, true}}, nil, false) } func TestDAOInitNoForkPrivnet(t *testing.T) { testDAOForkBlockNewChain(t, false, daoNoForkGenesis, [][2]bool{}, daoGenesisForkBlock, false) diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index 71777ce60..6c627ddcf 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -781,34 +781,43 @@ func MakeChainConfigFromDb(ctx *cli.Context, db ethdb.Database) *core.ChainConfi Fatalf("Could not make chain configuration: %v", err) } } - // Set any missing fields due to them being unset or system upgrade - if config.HomesteadBlock == nil { - if ctx.GlobalBool(TestNetFlag.Name) { - config.HomesteadBlock = params.TestNetHomesteadBlock - } else { - config.HomesteadBlock = params.MainNetHomesteadBlock + // Check whether we are allowed to set default config params or not: + // - If no genesis is set, we're running either mainnet or testnet (private nets use `geth init`) + // - If a genesis is already set, ensure we have a configuration for it (mainnet or testnet) + defaults := genesis == nil || + (genesis.Hash() == params.MainNetGenesisHash && !ctx.GlobalBool(TestNetFlag.Name)) || + (genesis.Hash() == params.TestNetGenesisHash && ctx.GlobalBool(TestNetFlag.Name)) + + // Set any missing chainConfig fields due to them being unset or system upgrade + if defaults { + if config.HomesteadBlock == nil { + if ctx.GlobalBool(TestNetFlag.Name) { + config.HomesteadBlock = params.TestNetHomesteadBlock + } else { + config.HomesteadBlock = params.MainNetHomesteadBlock + } } - } - if config.DAOForkBlock == nil { - if ctx.GlobalBool(TestNetFlag.Name) { - config.DAOForkBlock = params.TestNetDAOForkBlock - } else { - config.DAOForkBlock = params.MainNetDAOForkBlock + if config.DAOForkBlock == nil { + if ctx.GlobalBool(TestNetFlag.Name) { + config.DAOForkBlock = params.TestNetDAOForkBlock + } else { + config.DAOForkBlock = params.MainNetDAOForkBlock + } + config.DAOForkSupport = true } - config.DAOForkSupport = true - } - if config.HomesteadGasRepriceBlock == nil { - if ctx.GlobalBool(TestNetFlag.Name) { - config.HomesteadGasRepriceBlock = params.TestNetHomesteadGasRepriceBlock - } else { - config.HomesteadGasRepriceBlock = params.MainNetHomesteadGasRepriceBlock + if config.HomesteadGasRepriceBlock == nil { + if ctx.GlobalBool(TestNetFlag.Name) { + config.HomesteadGasRepriceBlock = params.TestNetHomesteadGasRepriceBlock + } else { + config.HomesteadGasRepriceBlock = params.MainNetHomesteadGasRepriceBlock + } } - } - if config.HomesteadGasRepriceHash == (common.Hash{}) { - if ctx.GlobalBool(TestNetFlag.Name) { - config.HomesteadGasRepriceHash = params.TestNetHomesteadGasRepriceHash - } else { - config.HomesteadGasRepriceHash = params.MainNetHomesteadGasRepriceHash + if config.HomesteadGasRepriceHash == (common.Hash{}) { + if ctx.GlobalBool(TestNetFlag.Name) { + config.HomesteadGasRepriceHash = params.TestNetHomesteadGasRepriceHash + } else { + config.HomesteadGasRepriceHash = params.MainNetHomesteadGasRepriceHash + } } } // Force override any existing configs if explicitly requested -- cgit v1.2.3