aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/utils
diff options
context:
space:
mode:
authorFelix Lange <fjl@twurst.com>2016-04-02 03:54:51 +0800
committerFelix Lange <fjl@twurst.com>2016-04-02 03:59:23 +0800
commit78b70d79ecdf9cde1b38855101840b19e365935c (patch)
tree3098f0e4e052d462cba576449e06b693882d3f2d /cmd/utils
parentfb578f4550a08617485d9146876489d1f3bb1b52 (diff)
downloaddexon-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.go27
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.