diff options
author | obscuren <geffobscura@gmail.com> | 2015-03-07 01:26:16 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-03-07 01:26:16 +0800 |
commit | cd856cb2133d390758bb24b88fa3b538bb7bc306 (patch) | |
tree | c6d75750802c2de16ae095569a8f2e0c05ce256f /cmd/utils | |
parent | ed84b58af57809a743e5be6f6ea53c079c50b765 (diff) | |
download | dexon-cd856cb2133d390758bb24b88fa3b538bb7bc306.tar.gz dexon-cd856cb2133d390758bb24b88fa3b538bb7bc306.tar.zst dexon-cd856cb2133d390758bb24b88fa3b538bb7bc306.zip |
Separated block db from state db. Partial fix for #416
Diffstat (limited to 'cmd/utils')
-rw-r--r-- | cmd/utils/cmd.go | 2 | ||||
-rw-r--r-- | cmd/utils/flags.go | 11 |
2 files changed, 9 insertions, 4 deletions
diff --git a/cmd/utils/cmd.go b/cmd/utils/cmd.go index 3c3d3955d..99e60ff9e 100644 --- a/cmd/utils/cmd.go +++ b/cmd/utils/cmd.go @@ -197,7 +197,7 @@ func BlockDo(ethereum *eth.Ethereum, hash []byte) error { parent := ethereum.ChainManager().GetBlock(block.ParentHash()) - statedb := state.New(parent.Root(), ethereum.Db()) + statedb := state.New(parent.Root(), ethereum.StateDb()) _, err := ethereum.BlockProcessor().TransitionState(statedb, parent, block, true) if err != nil { return err diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index d363ef280..88ff3558d 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -175,11 +175,16 @@ func GetEthereum(clientID, version string, ctx *cli.Context) *eth.Ethereum { return ethereum } -func GetChain(ctx *cli.Context) (*core.ChainManager, ethutil.Database) { +func GetChain(ctx *cli.Context) (*core.ChainManager, ethutil.Database, ethutil.Database) { dataDir := ctx.GlobalString(DataDirFlag.Name) - db, err := ethdb.NewLDBDatabase(path.Join(dataDir, "blockchain")) + blockDb, err := ethdb.NewLDBDatabase(path.Join(dataDir, "blockchain")) if err != nil { Fatalf("Could not open database: %v", err) } - return core.NewChainManager(db, new(event.TypeMux)), db + + stateDb, err := ethdb.NewLDBDatabase(path.Join(dataDir, "state")) + if err != nil { + Fatalf("Could not open database: %v", err) + } + return core.NewChainManager(blockDb, stateDb, new(event.TypeMux)), blockDb, stateDb } |