diff options
author | Felix Lange <fjl@twurst.com> | 2016-04-02 03:54:51 +0800 |
---|---|---|
committer | Felix Lange <fjl@twurst.com> | 2016-04-02 03:59:23 +0800 |
commit | 78b70d79ecdf9cde1b38855101840b19e365935c (patch) | |
tree | 3098f0e4e052d462cba576449e06b693882d3f2d /cmd/utils | |
parent | fb578f4550a08617485d9146876489d1f3bb1b52 (diff) | |
download | dexon-78b70d79ecdf9cde1b38855101840b19e365935c.tar.gz dexon-78b70d79ecdf9cde1b38855101840b19e365935c.tar.zst dexon-78b70d79ecdf9cde1b38855101840b19e365935c.zip |
cmd/utils: fix geth startup with empty database
Diffstat (limited to 'cmd/utils')
-rw-r--r-- | cmd/utils/flags.go | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index 3f54b40ca..5c0c3c614 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -772,23 +772,22 @@ func MustMakeChainConfig(ctx *cli.Context) *core.ChainConfig { ) defer db.Close() - chainConfig, err := core.GetChainConfig(db, genesis.Hash()) - if err != nil { - if err != core.ChainConfigNotFoundErr { + if genesis != nil { + // Exsting genesis block, use stored config if available. + storedConfig, err := core.GetChainConfig(db, genesis.Hash()) + if err == nil { + return storedConfig + } else if err != core.ChainConfigNotFoundErr { Fatalf("Could not make chain configuration: %v", err) } - var homesteadBlockNo *big.Int - if ctx.GlobalBool(TestNetFlag.Name) { - homesteadBlockNo = params.TestNetHomesteadBlock - } else { - homesteadBlockNo = params.MainNetHomesteadBlock - } - - chainConfig = &core.ChainConfig{ - HomesteadBlock: homesteadBlockNo, - } } - return chainConfig + var homesteadBlockNo *big.Int + if ctx.GlobalBool(TestNetFlag.Name) { + homesteadBlockNo = params.TestNetHomesteadBlock + } else { + homesteadBlockNo = params.MainNetHomesteadBlock + } + return &core.ChainConfig{HomesteadBlock: homesteadBlockNo} } // MakeChainDatabase open an LevelDB using the flags passed to the client and will hard crash if it fails. |