aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@exmulti.com>2012-09-24 13:37:03 -0400
committerJeff Garzik <jgarzik@redhat.com>2012-09-24 13:37:03 -0400
commit52c90a2b2b8d5628224e66be2dc2974c94e39fd9 (patch)
tree73c114752e0d74a09308678e908d230245b25148
parentfeec18e329300a6411498b0c01781e16cb742d6f (diff)
Import $DataDir/bootstrap.dat automatically, if it exists.
As discussed on IRC. Intended to make using an external blockchain download solution just a bit easier.
-rw-r--r--src/init.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/init.cpp b/src/init.cpp
index dc425da644..4df12af84c 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -722,7 +722,8 @@ bool AppInit2()
if (mapArgs.count("-loadblock"))
{
- uiInterface.InitMessage(_("Importing blocks..."));
+ uiInterface.InitMessage(_("Importing blockchain data file."));
+
BOOST_FOREACH(string strFile, mapMultiArgs["-loadblock"])
{
FILE *file = fopen(strFile.c_str(), "rb");
@@ -731,6 +732,18 @@ bool AppInit2()
}
}
+ filesystem::path pathBootstrap = GetDataDir() / "bootstrap.dat";
+ if (filesystem::exists(pathBootstrap)) {
+ uiInterface.InitMessage(_("Importing bootstrap blockchain data file."));
+
+ FILE *file = fopen(pathBootstrap.string().c_str(), "rb");
+ if (file) {
+ filesystem::path pathBootstrapOld = GetDataDir() / "bootstrap.dat.old";
+ LoadExternalBlockFile(file);
+ RenameOver(pathBootstrap, pathBootstrapOld);
+ }
+ }
+
// ********************************************************* Step 9: load peers
uiInterface.InitMessage(_("Loading addresses..."));