588 | @@ -589,8 +589,7 @@ void SetupServerArgs(ArgsManager& argsman)
589 | argsman.AddArg("-dustrelayfee=<amt>", strprintf("Fee rate (in %s/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. (default: %s)", CURRENCY_UNIT, FormatMoney(DUST_RELAY_TX_FEE)), ArgsManager::ALLOW_ANY | ArgsManager::DEBUG_ONLY, OptionsCategory::NODE_RELAY);
590 | argsman.AddArg("-acceptstalefeeestimates", strprintf("Read fee estimates even if they are stale (%sdefault: %u) fee estimates are considered stale if they are %s hours old", "regtest only; ", DEFAULT_ACCEPT_STALE_FEE_ESTIMATES, Ticks<std::chrono::hours>(MAX_FILE_AGE)), ArgsManager::ALLOW_ANY | ArgsManager::DEBUG_ONLY, OptionsCategory::DEBUG_TEST);
591 | argsman.AddArg("-bytespersigop", strprintf("Equivalent bytes per sigop in transactions for relay and mining (default: %u)", DEFAULT_BYTES_PER_SIGOP), ArgsManager::ALLOW_ANY, OptionsCategory::NODE_RELAY);
592 | - argsman.AddArg("-datacarrier", strprintf("Relay and mine data carrier transactions (default: %u)", DEFAULT_ACCEPT_DATACARRIER), ArgsManager::ALLOW_ANY, OptionsCategory::NODE_RELAY);
Any reason to remove this option? Seems fine to keep it as an alias to completely disable any OP_RETURN. I know it may be redundant with the other option, but for some reason most other devs and users like the UX of it, similar to -regtest and -chain=regtest, or other options.
- I don't think the redundancy is warranted going forwards.
- Re: backwards compatibility, I expect that only a very small number of people have set
-datacarrier=0, so I'm fine with those few people having to set -datacarriersize=0.
Though if there is strong demand, I could make -datacarrier=0 act as an override on -datacarriersize, forcing the latter to zero.
I think you also changed -datacarriersize to always be +1, so setting it to zero has a different meaning.
The cost seems low to keep the meaning and features the same, so personally I think it is fine to keep them the same.
In any case, release notes are needed
- for all removed features,
- for all changed meanings,
- for all lifted restrictions, and
- for all default value changes.
I think you also changed -datacarriersize to always be +1, so setting it to zero has a different meaning.
The cost seems low to keep the meaning and features the same, so personally I think it is fine to keep them the same.
The difference in meaning here is what I would consider to be a bug fix. Previously these options also applied to non-data-carrying OP_Return outputs, which doesn't make any sense. Anyone actually using -datacarriersize would just increment the amount accepted by 1 byte, which is insignificant.
In any case, release notes are needed
* for all removed features,
* for all changed meanings,
* for all lifted restrictions, and
* for all default value changes.
Sure, I can write those. I take it the mechanism used by this pull-req is correct? https://github.com/bitcoin/bitcoin/pull/27757/files