diff options
author | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-03-10 18:24:47 +0800 |
---|---|---|
committer | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-03-10 18:24:47 +0800 |
commit | c9b6d268b45ec4cc0b1cc982ba544ed2f0a5ddd6 (patch) | |
tree | 867a55771deb1a6768c150ce91654eb72fb54c7e /cmd/ethereum | |
parent | 08d396fdba1cbe7d04084db37b2089889a72086e (diff) | |
parent | 41a89e18f68f4b12b8212544be01a4e0a6716976 (diff) | |
download | dexon-c9b6d268b45ec4cc0b1cc982ba544ed2f0a5ddd6.tar dexon-c9b6d268b45ec4cc0b1cc982ba544ed2f0a5ddd6.tar.gz dexon-c9b6d268b45ec4cc0b1cc982ba544ed2f0a5ddd6.tar.bz2 dexon-c9b6d268b45ec4cc0b1cc982ba544ed2f0a5ddd6.tar.lz dexon-c9b6d268b45ec4cc0b1cc982ba544ed2f0a5ddd6.tar.xz dexon-c9b6d268b45ec4cc0b1cc982ba544ed2f0a5ddd6.tar.zst dexon-c9b6d268b45ec4cc0b1cc982ba544ed2f0a5ddd6.zip |
Merge pull request #438 from ethersphere/poc9/cli
Poc9/cli (exportchain)
Diffstat (limited to 'cmd/ethereum')
-rw-r--r-- | cmd/ethereum/main.go | 43 |
1 files changed, 32 insertions, 11 deletions
diff --git a/cmd/ethereum/main.go b/cmd/ethereum/main.go index 8b361f7ae..12e205f37 100644 --- a/cmd/ethereum/main.go +++ b/cmd/ethereum/main.go @@ -87,6 +87,11 @@ runtime will execute the file and exit. Name: "import", Usage: `import a blockchain file`, }, + { + Action: exportchain, + Name: "export", + Usage: `export blockchain into file`, + }, } app.Author = "" app.Email = "" @@ -171,25 +176,39 @@ func importchain(ctx *cli.Context) { if len(ctx.Args()) != 1 { utils.Fatalf("This command requires an argument.") } - chain, _, _ := utils.GetChain(ctx) + chainmgr, _, _ := utils.GetChain(ctx) start := time.Now() - err := utils.ImportChain(chain, ctx.Args().First()) + err := utils.ImportChain(chainmgr, ctx.Args().First()) if err != nil { utils.Fatalf("Import error: %v\n", err) } - fmt.Printf("Import done in", time.Since(start)) + fmt.Printf("Import done in %v", time.Since(start)) + return +} + +func exportchain(ctx *cli.Context) { + if len(ctx.Args()) != 1 { + utils.Fatalf("This command requires an argument.") + } + chainmgr, _, _ := utils.GetChain(ctx) + start := time.Now() + err := utils.ExportChain(chainmgr, ctx.Args().First()) + if err != nil { + utils.Fatalf("Export error: %v\n", err) + } + fmt.Printf("Export done in %v", time.Since(start)) return } func dump(ctx *cli.Context) { - chain, _, stateDb := utils.GetChain(ctx) + chainmgr, _, stateDb := utils.GetChain(ctx) for _, arg := range ctx.Args() { var block *types.Block if hashish(arg) { - block = chain.GetBlock(ethutil.Hex2Bytes(arg)) + block = chainmgr.GetBlock(ethutil.Hex2Bytes(arg)) } else { num, _ := strconv.Atoi(arg) - block = chain.GetBlockByNumber(uint64(num)) + block = chainmgr.GetBlockByNumber(uint64(num)) } if block == nil { fmt.Println("{}") @@ -209,11 +228,13 @@ func hashish(x string) bool { } func version(c *cli.Context) { - fmt.Printf(`%v %v -PV=%d -GOOS=%s -GO=%s + fmt.Printf(`%v +Version: %v +Protocol Version: %d +Network Id: %d +GO: %s +OS: %s GOPATH=%s GOROOT=%s -`, ClientIdentifier, Version, eth.ProtocolVersion, runtime.GOOS, runtime.Version(), os.Getenv("GOPATH"), runtime.GOROOT()) +`, ClientIdentifier, Version, eth.ProtocolVersion, eth.NetworkId, runtime.Version(), runtime.GOOS, os.Getenv("GOPATH"), runtime.GOROOT()) } |