aboutsummaryrefslogtreecommitdiffstats
path: root/cmd
diff options
context:
space:
mode:
authorGustav Simonsson <gustav.simonsson@gmail.com>2015-05-05 14:24:15 +0800
committerGustav Simonsson <gustav.simonsson@gmail.com>2015-05-05 14:24:15 +0800
commitb1cc9cdc7424d452687e2e168027d591ed332f3f (patch)
tree85f9860c5348f7cce620349977e4dac5ab5140f8 /cmd
parent50659f4b480fb9446cfb40955331a7a044353ff8 (diff)
downloadgo-tangerine-b1cc9cdc7424d452687e2e168027d591ed332f3f.tar
go-tangerine-b1cc9cdc7424d452687e2e168027d591ed332f3f.tar.gz
go-tangerine-b1cc9cdc7424d452687e2e168027d591ed332f3f.tar.bz2
go-tangerine-b1cc9cdc7424d452687e2e168027d591ed332f3f.tar.lz
go-tangerine-b1cc9cdc7424d452687e2e168027d591ed332f3f.tar.xz
go-tangerine-b1cc9cdc7424d452687e2e168027d591ed332f3f.tar.zst
go-tangerine-b1cc9cdc7424d452687e2e168027d591ed332f3f.zip
Integrate new ethash API and change geth makedag cmd
Diffstat (limited to 'cmd')
-rw-r--r--cmd/geth/main.go34
-rw-r--r--cmd/utils/flags.go2
2 files changed, 29 insertions, 7 deletions
diff --git a/cmd/geth/main.go b/cmd/geth/main.go
index e00b139c0..f2497ccf4 100644
--- a/cmd/geth/main.go
+++ b/cmd/geth/main.go
@@ -27,8 +27,10 @@ import (
"io/ioutil"
"os"
"path"
+ "path/filepath"
"runtime"
"strconv"
+ "strings"
"time"
"github.com/codegangsta/cli"
@@ -601,12 +603,32 @@ func dump(ctx *cli.Context) {
}
func makedag(ctx *cli.Context) {
- chain, _, _ := utils.GetChain(ctx)
- pow := ethash.New(chain)
- fmt.Println("making cache")
- pow.UpdateCache(0, true)
- fmt.Println("making DAG")
- pow.UpdateDAG()
+ args := ctx.Args()
+ wrongArgs := func() {
+ utils.Fatalf(`Usage: geth makedag <block number> <outputdir>`)
+ }
+ switch {
+ case len(args) == 2:
+ blockNum, err := strconv.ParseUint(args[0], 0, 64)
+ dir := args[1]
+ if err != nil {
+ wrongArgs()
+ } else {
+ dir = filepath.Clean(dir)
+ // seems to require a trailing slash
+ if !strings.HasSuffix(dir, "/") {
+ dir = dir + "/"
+ }
+ _, err = ioutil.ReadDir(dir)
+ if err != nil {
+ utils.Fatalf("Can't find dir")
+ }
+ fmt.Println("making DAG, this could take awhile...")
+ ethash.MakeDAG(blockNum, dir)
+ }
+ default:
+ wrongArgs()
+ }
}
func version(c *cli.Context) {
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go
index c013510d8..1fdc8dfe5 100644
--- a/cmd/utils/flags.go
+++ b/cmd/utils/flags.go
@@ -316,7 +316,7 @@ func GetChain(ctx *cli.Context) (*core.ChainManager, common.Database, common.Dat
eventMux := new(event.TypeMux)
chainManager := core.NewChainManager(blockDb, stateDb, eventMux)
- pow := ethash.New(chainManager)
+ pow := ethash.New()
txPool := core.NewTxPool(eventMux, chainManager.State, chainManager.GasLimit)
blockProcessor := core.NewBlockProcessor(stateDb, extraDb, pow, txPool, chainManager, eventMux)
chainManager.SetProcessor(blockProcessor)