aboutsummaryrefslogtreecommitdiff
path: root/src/daemon/DaemonManager.cpp
diff options
context:
space:
mode:
authorbenevanoff <benjaminevanoff99@gmail.com>2021-04-05 18:56:19 -0500
committerbenevanoff <benjaminevanoff99@gmail.com>2021-04-05 18:56:19 -0500
commit6b0cb8dadba9db95517633c1b2f7220d049e470a (patch)
tree5c88bc76e01bc2b12ba75d912345c02d21082dc5 /src/daemon/DaemonManager.cpp
parent1f0f21a8e5cb1b4d4e430149078b1b78edb5fa4f (diff)
downloadmonzero-gui-6b0cb8dadba9db95517633c1b2f7220d049e470a.tar.gz
monzero-gui-6b0cb8dadba9db95517633c1b2f7220d049e470a.tar.xz
monzero-gui-6b0cb8dadba9db95517633c1b2f7220d049e470a.zip
support pruning of new databases
Diffstat (limited to 'src/daemon/DaemonManager.cpp')
-rw-r--r--src/daemon/DaemonManager.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/daemon/DaemonManager.cpp b/src/daemon/DaemonManager.cpp
index b7fb12db..5eadb792 100644
--- a/src/daemon/DaemonManager.cpp
+++ b/src/daemon/DaemonManager.cpp
@@ -27,6 +27,7 @@
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "DaemonManager.h"
+#include "common/util.h"
#include <QElapsedTimer>
#include <QFile>
#include <QMutexLocker>
@@ -47,7 +48,7 @@ namespace {
static const int DAEMON_START_TIMEOUT_SECONDS = 120;
}
-bool DaemonManager::start(const QString &flags, NetworkType::Type nettype, const QString &dataDir, const QString &bootstrapNodeAddress, bool noSync /* = false*/)
+bool DaemonManager::start(const QString &flags, NetworkType::Type nettype, const QString &dataDir, const QString &bootstrapNodeAddress, bool noSync /* = false*/, bool pruneBlockchain /* = false*/)
{
if (!QFileInfo(m_monerod).isFile())
{
@@ -85,6 +86,12 @@ bool DaemonManager::start(const QString &flags, NetworkType::Type nettype, const
arguments << "--bootstrap-daemon-address" << bootstrapNodeAddress;
}
+ if (pruneBlockchain) {
+ if (!checkLmdbExists(dataDir)) { // check that DB has not already been created
+ arguments << "--prune-blockchain";
+ }
+ }
+
if (noSync) {
arguments << "--no-sync";
}
@@ -322,6 +329,13 @@ QVariantMap DaemonManager::validateDataDir(const QString &dataDir) const
return result;
}
+bool DaemonManager::checkLmdbExists(QString datadir) {
+ if (datadir.isEmpty() || datadir.isNull()) {
+ datadir = QString::fromStdString(tools::get_default_data_dir());
+ }
+ return validateDataDir(datadir).value("lmdbExists").value<bool>();
+}
+
DaemonManager::DaemonManager(QObject *parent)
: QObject(parent)
, m_scheduler(this)