Kaynağa Gözat

Decode from stream directly

obscuren 11 yıl önce
ebeveyn
işleme
34f72ddb3d
2 değiştirilmiş dosya ile 6 ekleme ve 3 silme
  1. 2 3
      cmd/ethereum/main.go
  2. 4 0
      ethdb/database.go

+ 2 - 3
cmd/ethereum/main.go

@@ -18,7 +18,6 @@
 package main
 
 import (
-	"bytes"
 	"fmt"
 	"os"
 	"runtime"
@@ -120,13 +119,13 @@ func main() {
 
 	if len(ImportChain) > 0 {
 		clilogger.Infof("importing chain '%s'\n", ImportChain)
-		c, err := ethutil.ReadAllFile(ImportChain)
+		fh, err := os.OpenFile(ImportChain, os.O_RDONLY, os.ModePerm)
 		if err != nil {
 			clilogger.Infoln(err)
 			return
 		}
 		var chain types.Blocks
-		if err := rlp.Decode(bytes.NewReader([]byte(c)), &chain); err != nil {
+		if err := rlp.Decode(fh, &chain); err != nil {
 			clilogger.Infoln(err)
 			return
 		}

+ 4 - 0
ethdb/database.go

@@ -71,6 +71,10 @@ func (self *LDBDatabase) NewIterator() iterator.Iterator {
 	return self.db.NewIterator(nil, nil)
 }
 
+func (self *LDBDatabase) Write(batch *leveldb.Batch) error {
+	return self.db.Write(batch, nil)
+}
+
 func (self *LDBDatabase) Close() {
 	// Close the leveldb database
 	self.db.Close()