diff --git a/logic/config.js b/logic/config.js index c6c0bf9..2641e23 100644 --- a/logic/config.js +++ b/logic/config.js @@ -52,6 +52,9 @@ const DEFAULT_ADVANCED_SETTINGS = { datacarriercost: 1, acceptnonstddatacarrier: false, dustrelayfee: 0.00003, + blockmaxsize: 3985000, + blockmaxweight: 3985000, + blockreconstructionextratxn: 1000000, maxorphantx: 100, reindex: false, // RPC/REST @@ -253,6 +256,18 @@ function settingsToMultilineConfString(settings) { umbrelBitcoinConfig.push("# Fee rate (in BTC/kvB) used to define dust, the value of an output such that it will cost more than its value in fees at this fee rate to spend it."); umbrelBitcoinConfig.push(`dustrelayfee=${settings.dustrelayfee}`); + // blockmaxsize + umbrelBitcoinConfig.push("# Set maximum block size in bytes"); + umbrelBitcoinConfig.push(`blockmaxsize=${settings.blockmaxsize}`); + + // blockmaxweight + umbrelBitcoinConfig.push("# Set maximum BIP141 block weight"); + umbrelBitcoinConfig.push(`blockmaxweight=${settings.blockmaxweight}`); + + // blockreconstructionextratxn + umbrelBitcoinConfig.push("# Extra transactions to keep in memory for compact block reconstructions"); + umbrelBitcoinConfig.push(`blockreconstructionextratxn=${settings.blockreconstructionextratxn}`); + // maxorphantx umbrelBitcoinConfig.push("# Maximum number of orphan transactions to be kept in memory."); umbrelBitcoinConfig.push(`maxorphantx=${settings.maxorphantx}`); diff --git a/ui/src/components/AdvancedSettingsModal.vue b/ui/src/components/AdvancedSettingsModal.vue index 118ed3f..1dd56ac 100644 --- a/ui/src/components/AdvancedSettingsModal.vue +++ b/ui/src/components/AdvancedSettingsModal.vue @@ -1182,6 +1182,102 @@ + + +
+
+
+ +
+
+ + + +
+
+ + Set maximum block size in bytes + +
+
+ + + +
+
+
+ +
+
+ + + +
+
+ + Set maximum BIP141 block weight + +
+
+ + + +
+
+
+ +
+
+ + + +
+
+ + Extra transactions to keep in memory for compact block reconstructions + +
+
+
diff --git a/utils/validateSettingsRequest.js b/utils/validateSettingsRequest.js index 59c8e3b..760613c 100644 --- a/utils/validateSettingsRequest.js +++ b/utils/validateSettingsRequest.js @@ -141,6 +141,15 @@ function validateSettingsRequest(settings) { // dustrelayfee checkNumberSetting({ setting: settings.dustrelayfee, settingName: "dustrelayfee", min: 0 }); + // blockmaxsize + checkNumberSetting({ setting: settings.blockmaxsize, settingName: "blockmaxsize", min: 0 }); + + // blockmaxweight + checkNumberSetting({ setting: settings.blockmaxweight, settingName: "blockmaxweight", min: 0 }); + + // blockreconstructionextratxn + checkNumberSetting({ setting: settings.blockreconstructionextratxn, settingName: "blockreconstructionextratxn", min: 0 }); + // acceptnonstddatacarrier checkBooleanSetting({ setting: settings.acceptnonstddatacarrier, settingName: "acceptnonstddatacarrier" });