mirror of
https://github.com/Retropex/bitcoin.git
synced 2025-05-13 03:30:42 +02:00
Qt/Options: Configure blockmaxsize, blockprioritysize, and blockmaxweight using rwconf
This commit is contained in:
parent
b67e66bcde
commit
9568978fd5
@ -15,11 +15,13 @@
|
|||||||
|
|
||||||
#include <common/args.h>
|
#include <common/args.h>
|
||||||
#include <common/system.h>
|
#include <common/system.h>
|
||||||
|
#include <consensus/consensus.h> // for MAX_BLOCK_SERIALIZED_SIZE
|
||||||
#include <index/blockfilterindex.h>
|
#include <index/blockfilterindex.h>
|
||||||
#include <interfaces/node.h>
|
#include <interfaces/node.h>
|
||||||
#include <node/chainstatemanager_args.h>
|
#include <node/chainstatemanager_args.h>
|
||||||
#include <netbase.h>
|
#include <netbase.h>
|
||||||
#include <outputtype.h>
|
#include <outputtype.h>
|
||||||
|
#include <primitives/transaction.h> // for WITNESS_SCALE_FACTOR
|
||||||
#include <txdb.h>
|
#include <txdb.h>
|
||||||
#include <txmempool.h> // for maxmempoolMinimum
|
#include <txmempool.h> // for maxmempoolMinimum
|
||||||
#include <util/strencodings.h>
|
#include <util/strencodings.h>
|
||||||
@ -283,7 +285,23 @@ OptionsDialog::OptionsDialog(QWidget* parent, bool enableWallet)
|
|||||||
|
|
||||||
verticalLayout_Mining->addWidget(new QLabel(tr("<strong>Note that mining is heavily influenced by the settings on the Mempool tab.</strong>")));
|
verticalLayout_Mining->addWidget(new QLabel(tr("<strong>Note that mining is heavily influenced by the settings on the Mempool tab.</strong>")));
|
||||||
|
|
||||||
// TODO
|
blockmaxsize = new QSpinBox(tabMining);
|
||||||
|
blockmaxsize->setMinimum(1);
|
||||||
|
blockmaxsize->setMaximum((MAX_BLOCK_SERIALIZED_SIZE - 1000) / 1000);
|
||||||
|
connect(blockmaxsize, SIGNAL(valueChanged(int)), this, SLOT(blockmaxsize_changed(int)));
|
||||||
|
CreateOptionUI(verticalLayout_Mining, blockmaxsize, tr("Never mine a block larger than %s kB."));
|
||||||
|
|
||||||
|
blockprioritysize = new QSpinBox(tabMining);
|
||||||
|
blockprioritysize->setMinimum(0);
|
||||||
|
blockprioritysize->setMaximum(blockmaxsize->maximum());
|
||||||
|
connect(blockprioritysize, SIGNAL(valueChanged(int)), this, SLOT(blockmaxsize_increase(int)));
|
||||||
|
CreateOptionUI(verticalLayout_Mining, blockprioritysize, tr("Mine first %s kB of transactions sorted by coin-age priority."));
|
||||||
|
|
||||||
|
blockmaxweight = new QSpinBox(tabMining);
|
||||||
|
blockmaxweight->setMinimum(1);
|
||||||
|
blockmaxweight->setMaximum((MAX_BLOCK_WEIGHT-4000) / 1000);
|
||||||
|
connect(blockmaxweight, SIGNAL(valueChanged(int)), this, SLOT(blockmaxweight_changed(int)));
|
||||||
|
CreateOptionUI(verticalLayout_Mining, blockmaxweight, tr("Never mine a block weighing more than %s kWU."));
|
||||||
|
|
||||||
verticalLayout_Mining->addItem(new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding));
|
verticalLayout_Mining->addItem(new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding));
|
||||||
|
|
||||||
@ -543,6 +561,12 @@ void OptionsDialog::setMapper()
|
|||||||
mapper->addMapping(rejectbaremultisig, OptionsModel::rejectbaremultisig);
|
mapper->addMapping(rejectbaremultisig, OptionsModel::rejectbaremultisig);
|
||||||
mapper->addMapping(datacarriersize, OptionsModel::datacarriersize);
|
mapper->addMapping(datacarriersize, OptionsModel::datacarriersize);
|
||||||
|
|
||||||
|
/* Mining tab */
|
||||||
|
|
||||||
|
mapper->addMapping(blockmaxsize, OptionsModel::blockmaxsize);
|
||||||
|
mapper->addMapping(blockprioritysize, OptionsModel::blockprioritysize);
|
||||||
|
mapper->addMapping(blockmaxweight, OptionsModel::blockmaxweight);
|
||||||
|
|
||||||
/* Window */
|
/* Window */
|
||||||
#ifndef Q_OS_MACOS
|
#ifndef Q_OS_MACOS
|
||||||
if (QSystemTrayIcon::isSystemTrayAvailable()) {
|
if (QSystemTrayIcon::isSystemTrayAvailable()) {
|
||||||
@ -575,6 +599,35 @@ void OptionsDialog::setOkButtonState(bool fState)
|
|||||||
ui->okButton->setEnabled(fState);
|
ui->okButton->setEnabled(fState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OptionsDialog::blockmaxsize_changed(int i)
|
||||||
|
{
|
||||||
|
if (blockprioritysize->value() > i) {
|
||||||
|
blockprioritysize->setValue(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (blockmaxweight->value() < i) {
|
||||||
|
blockmaxweight->setValue(i);
|
||||||
|
} else if (blockmaxweight->value() > i * WITNESS_SCALE_FACTOR) {
|
||||||
|
blockmaxweight->setValue(i * WITNESS_SCALE_FACTOR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void OptionsDialog::blockmaxsize_increase(int i)
|
||||||
|
{
|
||||||
|
if (blockmaxsize->value() < i) {
|
||||||
|
blockmaxsize->setValue(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void OptionsDialog::blockmaxweight_changed(int i)
|
||||||
|
{
|
||||||
|
if (blockmaxsize->value() < i / WITNESS_SCALE_FACTOR) {
|
||||||
|
blockmaxsize->setValue(i / WITNESS_SCALE_FACTOR);
|
||||||
|
} else if (blockmaxsize->value() > i) {
|
||||||
|
blockmaxsize->setValue(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void OptionsDialog::on_resetButton_clicked()
|
void OptionsDialog::on_resetButton_clicked()
|
||||||
{
|
{
|
||||||
if (model) {
|
if (model) {
|
||||||
|
@ -75,6 +75,10 @@ private Q_SLOTS:
|
|||||||
void updateDefaultProxyNets();
|
void updateDefaultProxyNets();
|
||||||
void checkLineEdit();
|
void checkLineEdit();
|
||||||
|
|
||||||
|
void blockmaxsize_changed(int);
|
||||||
|
void blockmaxsize_increase(int);
|
||||||
|
void blockmaxweight_changed(int);
|
||||||
|
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
void proxyIpChecks(QValidatedLineEdit *pUiProxyIp, uint16_t nProxyPort);
|
void proxyIpChecks(QValidatedLineEdit *pUiProxyIp, uint16_t nProxyPort);
|
||||||
void quitOnReset();
|
void quitOnReset();
|
||||||
@ -102,6 +106,8 @@ private:
|
|||||||
QSpinBox *limitdescendantsize;
|
QSpinBox *limitdescendantsize;
|
||||||
QCheckBox *rejectbaremultisig;
|
QCheckBox *rejectbaremultisig;
|
||||||
QSpinBox *datacarriersize;
|
QSpinBox *datacarriersize;
|
||||||
|
|
||||||
|
QSpinBox *blockmaxsize, *blockprioritysize, *blockmaxweight;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // BITCOIN_QT_OPTIONSDIALOG_H
|
#endif // BITCOIN_QT_OPTIONSDIALOG_H
|
||||||
|
@ -662,6 +662,12 @@ QVariant OptionsModel::getOption(OptionID option, const std::string& suffix) con
|
|||||||
return !node().mempool().m_opts.permit_bare_multisig;
|
return !node().mempool().m_opts.permit_bare_multisig;
|
||||||
case datacarriersize:
|
case datacarriersize:
|
||||||
return qlonglong(node().mempool().m_opts.max_datacarrier_bytes.value_or(0));
|
return qlonglong(node().mempool().m_opts.max_datacarrier_bytes.value_or(0));
|
||||||
|
case blockmaxsize:
|
||||||
|
return qlonglong(gArgs.GetIntArg("-blockmaxsize", DEFAULT_BLOCK_MAX_SIZE) / 1000);
|
||||||
|
case blockprioritysize:
|
||||||
|
return qlonglong(gArgs.GetIntArg("-blockprioritysize", DEFAULT_BLOCK_PRIORITY_SIZE) / 1000);
|
||||||
|
case blockmaxweight:
|
||||||
|
return qlonglong(gArgs.GetIntArg("-blockmaxweight", DEFAULT_BLOCK_MAX_WEIGHT) / 1000);
|
||||||
default:
|
default:
|
||||||
return QVariant();
|
return QVariant();
|
||||||
}
|
}
|
||||||
@ -1115,6 +1121,29 @@ bool OptionsModel::setOption(OptionID option, const QVariant& value, const std::
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case blockmaxsize:
|
||||||
|
case blockprioritysize:
|
||||||
|
case blockmaxweight:
|
||||||
|
if (changed()) {
|
||||||
|
const int nNewValue_kB = value.toInt();
|
||||||
|
std::string strNv = strprintf("%d000", nNewValue_kB);
|
||||||
|
std::string strKey;
|
||||||
|
switch (option) {
|
||||||
|
case blockmaxsize:
|
||||||
|
strKey = "blockmaxsize";
|
||||||
|
break;
|
||||||
|
case blockprioritysize:
|
||||||
|
strKey = "blockprioritysize";
|
||||||
|
break;
|
||||||
|
case blockmaxweight:
|
||||||
|
strKey = "blockmaxweight";
|
||||||
|
break;
|
||||||
|
default: assert(0);
|
||||||
|
}
|
||||||
|
gArgs.ForceSetArg("-" + strKey, strNv);
|
||||||
|
gArgs.ModifyRWConfigFile(strKey, strNv);
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -93,6 +93,9 @@ public:
|
|||||||
limitdescendantsize,
|
limitdescendantsize,
|
||||||
rejectbaremultisig, // bool
|
rejectbaremultisig, // bool
|
||||||
datacarriersize,
|
datacarriersize,
|
||||||
|
blockmaxsize,
|
||||||
|
blockprioritysize,
|
||||||
|
blockmaxweight,
|
||||||
OptionIDRowCount,
|
OptionIDRowCount,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user