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.
This commit is contained in:
Jeff Garzik 2012-09-24 13:37:03 -04:00 committed by Jeff Garzik
parent feec18e329
commit 52c90a2b2b

View File

@ -722,7 +722,8 @@ bool AppInit2()
if (mapArgs.count("-loadblock")) if (mapArgs.count("-loadblock"))
{ {
uiInterface.InitMessage(_("Importing blocks...")); uiInterface.InitMessage(_("Importing blockchain data file."));
BOOST_FOREACH(string strFile, mapMultiArgs["-loadblock"]) BOOST_FOREACH(string strFile, mapMultiArgs["-loadblock"])
{ {
FILE *file = fopen(strFile.c_str(), "rb"); 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 // ********************************************************* Step 9: load peers
uiInterface.InitMessage(_("Loading addresses...")); uiInterface.InitMessage(_("Loading addresses..."));