OSDN Git Service

Merge pull request #201 from Bytom/v0.1
[bytom/vapor.git] / vendor / github.com / btcsuite / btcd / cmd / addblock / addblock.go
diff --git a/vendor/github.com/btcsuite/btcd/cmd/addblock/addblock.go b/vendor/github.com/btcsuite/btcd/cmd/addblock/addblock.go
deleted file mode 100644 (file)
index 15b61b6..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-// Copyright (c) 2013-2016 The btcsuite developers
-// Use of this source code is governed by an ISC
-// license that can be found in the LICENSE file.
-
-package main
-
-import (
-       "os"
-       "path/filepath"
-       "runtime"
-
-       "github.com/btcsuite/btcd/blockchain"
-       "github.com/btcsuite/btcd/blockchain/indexers"
-       "github.com/btcsuite/btcd/database"
-       "github.com/btcsuite/btcd/limits"
-       "github.com/btcsuite/btclog"
-)
-
-const (
-       // blockDbNamePrefix is the prefix for the btcd block database.
-       blockDbNamePrefix = "blocks"
-)
-
-var (
-       cfg *config
-       log btclog.Logger
-)
-
-// loadBlockDB opens the block database and returns a handle to it.
-func loadBlockDB() (database.DB, error) {
-       // The database name is based on the database type.
-       dbName := blockDbNamePrefix + "_" + cfg.DbType
-       dbPath := filepath.Join(cfg.DataDir, dbName)
-
-       log.Infof("Loading block database from '%s'", dbPath)
-       db, err := database.Open(cfg.DbType, dbPath, activeNetParams.Net)
-       if err != nil {
-               // Return the error if it's not because the database doesn't
-               // exist.
-               if dbErr, ok := err.(database.Error); !ok || dbErr.ErrorCode !=
-                       database.ErrDbDoesNotExist {
-
-                       return nil, err
-               }
-
-               // Create the db if it does not exist.
-               err = os.MkdirAll(cfg.DataDir, 0700)
-               if err != nil {
-                       return nil, err
-               }
-               db, err = database.Create(cfg.DbType, dbPath, activeNetParams.Net)
-               if err != nil {
-                       return nil, err
-               }
-       }
-
-       log.Info("Block database loaded")
-       return db, nil
-}
-
-// realMain is the real main function for the utility.  It is necessary to work
-// around the fact that deferred functions do not run when os.Exit() is called.
-func realMain() error {
-       // Load configuration and parse command line.
-       tcfg, _, err := loadConfig()
-       if err != nil {
-               return err
-       }
-       cfg = tcfg
-
-       // Setup logging.
-       backendLogger := btclog.NewBackend(os.Stdout)
-       defer os.Stdout.Sync()
-       log = backendLogger.Logger("MAIN")
-       database.UseLogger(backendLogger.Logger("BCDB"))
-       blockchain.UseLogger(backendLogger.Logger("CHAN"))
-       indexers.UseLogger(backendLogger.Logger("INDX"))
-
-       // Load the block database.
-       db, err := loadBlockDB()
-       if err != nil {
-               log.Errorf("Failed to load database: %v", err)
-               return err
-       }
-       defer db.Close()
-
-       fi, err := os.Open(cfg.InFile)
-       if err != nil {
-               log.Errorf("Failed to open file %v: %v", cfg.InFile, err)
-               return err
-       }
-       defer fi.Close()
-
-       // Create a block importer for the database and input file and start it.
-       // The done channel returned from start will contain an error if
-       // anything went wrong.
-       importer, err := newBlockImporter(db, fi)
-       if err != nil {
-               log.Errorf("Failed create block importer: %v", err)
-               return err
-       }
-
-       // Perform the import asynchronously.  This allows blocks to be
-       // processed and read in parallel.  The results channel returned from
-       // Import contains the statistics about the import including an error
-       // if something went wrong.
-       log.Info("Starting import")
-       resultsChan := importer.Import()
-       results := <-resultsChan
-       if results.err != nil {
-               log.Errorf("%v", results.err)
-               return results.err
-       }
-
-       log.Infof("Processed a total of %d blocks (%d imported, %d already "+
-               "known)", results.blocksProcessed, results.blocksImported,
-               results.blocksProcessed-results.blocksImported)
-       return nil
-}
-
-func main() {
-       // Use all processor cores and up some limits.
-       runtime.GOMAXPROCS(runtime.NumCPU())
-       if err := limits.SetLimits(); err != nil {
-               os.Exit(1)
-       }
-
-       // Work around defer not working after os.Exit()
-       if err := realMain(); err != nil {
-               os.Exit(1)
-       }
-}