Merge pull request #4552

765982c main: update blockchain size estimate (selsta)
172e346 DaemonManager: use accurate blockchain size estimate (selsta)
This commit is contained in:
tobtoht
2026-01-29 15:38:23 +00:00
3 changed files with 6 additions and 7 deletions

View File

@@ -94,7 +94,7 @@ ApplicationWindow {
readonly property string localDaemonAddress : "localhost:" + getDefaultDaemonRpcPort(persistentSettings.nettype)
property string currentDaemonAddress;
property int disconnectedEpoch: 0
property int estimatedBlockchainSize: persistentSettings.pruneBlockchain ? 100 : 225 // GB
property int estimatedBlockchainSize: persistentSettings.pruneBlockchain ? 110 : 270 // GB
property alias viewState: rootItem.state
property string prevSplashText;
property bool splashDisplayedBeforeButtonRequest;
@@ -1737,7 +1737,7 @@ ApplicationWindow {
onRejected: console.log("data dir selection canceled")
onAccepted: {
var dataDir = walletManager.urlToLocalPath(blockchainFileDialog.fileUrl)
var validator = daemonManager.validateDataDir(dataDir);
var validator = daemonManager.validateDataDir(dataDir, estimatedBlockchainSize);
if(validator.valid) {
persistentSettings.blockchainDataDir = dataDir;
} else {

View File

@@ -297,7 +297,7 @@ void DaemonManager::exit()
m_app_exit = true;
}
QVariantMap DaemonManager::validateDataDir(const QString &dataDir) const
QVariantMap DaemonManager::validateDataDir(const QString &dataDir, const int estimatedBlockchainSize) const
{
QVariantMap result;
bool valid = true;
@@ -312,9 +312,8 @@ QVariantMap DaemonManager::validateDataDir(const QString &dataDir) const
valid = false;
}
// Make sure there is 75GB storage available
storageAvailable = storage.bytesAvailable()/1000/1000/1000;
if (storageAvailable < 75) {
if (storageAvailable < estimatedBlockchainSize) {
valid = false;
}
} else {
@@ -339,7 +338,7 @@ 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>();
return QDir(datadir + "/lmdb").exists();
}
QString DaemonManager::getArgs(const QString &dataDir) {

View File

@@ -56,7 +56,7 @@ public:
// Send daemon command from qml and prints output in console window.
Q_INVOKABLE void sendCommandAsync(const QStringList &cmd, NetworkType::Type nettype, const QString &dataDir, const QJSValue& callback) const;
Q_INVOKABLE void exit();
Q_INVOKABLE QVariantMap validateDataDir(const QString &dataDir) const;
Q_INVOKABLE QVariantMap validateDataDir(const QString &dataDir, const int estimatedBlockchainSizeGb) const;
Q_INVOKABLE bool checkLmdbExists(QString datadir);
Q_INVOKABLE QString getArgs(const QString &dataDir);