|
|
@@ -800,7 +800,8 @@ func MustMakeChainConfigFromDb(ctx *cli.Context, db ethdb.Database) *core.ChainC
|
|
|
// If the chain is already initialized, use any existing chain configs
|
|
|
config := new(core.ChainConfig)
|
|
|
|
|
|
- if genesis := core.GetBlock(db, core.GetCanonicalHash(db, 0), 0); genesis != nil {
|
|
|
+ genesis := core.GetBlock(db, core.GetCanonicalHash(db, 0), 0)
|
|
|
+ if genesis != nil {
|
|
|
storedConfig, err := core.GetChainConfig(db, genesis.Hash())
|
|
|
switch err {
|
|
|
case nil:
|
|
|
@@ -834,6 +835,23 @@ func MustMakeChainConfigFromDb(ctx *cli.Context, db ethdb.Database) *core.ChainC
|
|
|
case ctx.GlobalBool(OpposeDAOFork.Name):
|
|
|
config.DAOForkSupport = false
|
|
|
}
|
|
|
+ // Temporarilly display a proper message so the user knows which fork its on
|
|
|
+ if !ctx.GlobalBool(TestNetFlag.Name) && (genesis == nil || genesis.Hash() == common.HexToHash("0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3")) {
|
|
|
+ choice := "SUPPORT"
|
|
|
+ if !config.DAOForkSupport {
|
|
|
+ choice = "OPPOSE"
|
|
|
+ }
|
|
|
+ current := fmt.Sprintf("Geth is currently configured to %s the DAO hard-fork!", choice)
|
|
|
+ howtoswap := fmt.Sprintf("You can change your choice prior to block #%v with --support-dao-fork or --oppose-dao-fork.", config.DAOForkBlock)
|
|
|
+ howtosync := fmt.Sprintf("After the hard-fork block #%v passed, changing chains requires a resync from scratch!", config.DAOForkBlock)
|
|
|
+ separator := strings.Repeat("-", len(howtoswap))
|
|
|
+
|
|
|
+ glog.V(logger.Warn).Info(separator)
|
|
|
+ glog.V(logger.Warn).Info(current)
|
|
|
+ glog.V(logger.Warn).Info(howtoswap)
|
|
|
+ glog.V(logger.Warn).Info(howtosync)
|
|
|
+ glog.V(logger.Warn).Info(separator)
|
|
|
+ }
|
|
|
return config
|
|
|
}
|
|
|
|