diff options
author | Felix Lange <fjl@twurst.com> | 2015-03-18 21:04:19 +0800 |
---|---|---|
committer | Felix Lange <fjl@twurst.com> | 2015-03-18 21:04:44 +0800 |
commit | 064279c0ec2f048cbdd965c095ea332bb8666f94 (patch) | |
tree | 4cd33a264eb0825080eef7aa718580b5092ca887 | |
parent | d15f90645d5b2e90c441140972d9fe6ecd753643 (diff) | |
download | go-tangerine-064279c0ec2f048cbdd965c095ea332bb8666f94.tar go-tangerine-064279c0ec2f048cbdd965c095ea332bb8666f94.tar.gz go-tangerine-064279c0ec2f048cbdd965c095ea332bb8666f94.tar.bz2 go-tangerine-064279c0ec2f048cbdd965c095ea332bb8666f94.tar.lz go-tangerine-064279c0ec2f048cbdd965c095ea332bb8666f94.tar.xz go-tangerine-064279c0ec2f048cbdd965c095ea332bb8666f94.tar.zst go-tangerine-064279c0ec2f048cbdd965c095ea332bb8666f94.zip |
cmd/ethereum, cmd/utils: partial fix for chain import
-rw-r--r-- | cmd/ethereum/admin.go | 5 | ||||
-rw-r--r-- | cmd/utils/cmd.go | 7 |
2 files changed, 4 insertions, 8 deletions
diff --git a/cmd/ethereum/admin.go b/cmd/ethereum/admin.go index 967af2553..41aaf46d8 100644 --- a/cmd/ethereum/admin.go +++ b/cmd/ethereum/admin.go @@ -221,13 +221,10 @@ func (js *jsre) exportChain(call otto.FunctionCall) otto.Value { fmt.Println(err) return otto.FalseValue() } - - data := js.ethereum.ChainManager().Export() - if err := common.WriteFile(fn, data); err != nil { + if err := utils.ExportChain(js.ethereum.ChainManager(), fn); err != nil { fmt.Println(err) return otto.FalseValue() } - return otto.TrueValue() } diff --git a/cmd/utils/cmd.go b/cmd/utils/cmd.go index 66e89abef..feea29d64 100644 --- a/cmd/utils/cmd.go +++ b/cmd/utils/cmd.go @@ -158,13 +158,12 @@ func ImportChain(chainmgr *core.ChainManager, fn string) error { var i int for ; ; i++ { var b types.Block - err := stream.Decode(&b) - if err == io.EOF { + if err := stream.Decode(&b); err == io.EOF { break } else if err != nil { return fmt.Errorf("at block %d: %v", i, err) } - if err := chainmgr.InsertChain(types.Blocks{b}); err != nil { + if err := chainmgr.InsertChain(types.Blocks{&b}); err != nil { return fmt.Errorf("invalid block %d: %v", i, err) } } @@ -174,7 +173,7 @@ func ImportChain(chainmgr *core.ChainManager, fn string) error { func ExportChain(chainmgr *core.ChainManager, fn string) error { fmt.Printf("exporting blockchain '%s'\n", fn) - fh, err := os.OpenFile(fn, os.O_WRONLY|os.O_TRUNC, os.ModePerm) + fh, err := os.OpenFile(fn, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, os.ModePerm) if err != nil { return err } |