diff --git a/cmd/ethereum/main.go b/cmd/ethereum/main.go index 3b952dd79..35b636c6e 100644 --- a/cmd/ethereum/main.go +++ b/cmd/ethereum/main.go @@ -30,6 +30,7 @@ import ( "time" "github.com/codegangsta/cli" + "github.com/ethereum/ethash" "github.com/ethereum/go-ethereum/cmd/utils" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core/types" @@ -54,6 +55,17 @@ func init() { app.HideVersion = true // we have a command to print the version app.Commands = []cli.Command{ blocktestCmd, + { + Action: makedag, + Name: "makedag", + Usage: "generate ethash dag (for testing)", + Description: ` +The makedag command generates an ethash DAG in /tmp/dag. + +This command exists to support the system testing project. +Regular users do not need to execute it. +`, + }, { Action: version, Name: "version", @@ -318,6 +330,15 @@ func dump(ctx *cli.Context) { } } +func makedag(ctx *cli.Context) { + chain, _, _ := utils.GetChain(ctx) + pow := ethash.New(chain) + fmt.Println("making cache") + pow.UpdateCache(true) + fmt.Println("making DAG") + pow.UpdateDAG() +} + func version(c *cli.Context) { fmt.Printf(`%v Version: %v