New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove redundant -datacarrier
option
#29942
base: master
Are you sure you want to change the base?
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. Code CoverageFor detailed information about the code coverage, see the test coverage report. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
Not sure about saving 4 lines of code for a breaking change. There are other redundant options such as (Edit: I know I changed my opinion on this, compared to #27261 (comment), but I think it is clear that some users may be using this option and saving a few lines of code may not be worth it in the end, considering this is a breaking change. However, flattening the optional can still be done, because it is not a breaking change and comes with most of the benefits of what this pull is trying to achieve?) |
The main benefit really is not having two options with similar names that can do the same thing. As you yourself said in the linked comment:
Seems to me a one-time breaking change (with very little impact) is preferred to keeping the confusing set of options forever. |
a3cd5c1
to
4a68d9d
Compare
🚧 At least one of the CI tasks failed. Make sure to run all tests locally, according to the Possibly this is due to a silent merge conflict (the changes in this pull request being Leave a comment here, if you need help tracking down a confusing failure. |
Another difference from Here are also a few examples of users confused about the two options: https://twitter.com/FieldNas/status/1782498776671768807 |
Right. However, after this pull request, the same is true if
It looks like those are examples of users using the options, so their configs will be broken. If the docs are hard to understand, an alternative would be to improve the docs. I am happy to review the optional flattening, if you split it up into another pull request, but this pull request as-is will probably have a hard time finding reviewers. |
This particular option was introduced 10 years ago (in e44fea5, v0.10.0 apparently). FWIW i think we would need a stronger reason to remove it than a bit of redundancy. |
Are you still working on this? |
What is there to work on? CI passes and there are no merge conflicts. I know you suggested alternative approaches, but those can be implemented in different PRs if this one gets closed. |
It seems there is a benefit to redundant options, in that we had to do the whole But the confusion isn't nothing either. Inclined to leave it alone since it's been this way for years. = Weak Concept NACK. |
The
-datacarrier
option is redundant, as disabling the relay and mining of transactions creating OP_RETURN outputs can be accomplished by setting-datacarriersize=0
. Its removal was supported by several people in the discussion of #27261 (e.g. #27261 (comment), #27261 (comment)) and implemented in #28130, but that PR was rejected due to making other, more controversial changes.Being a breaking change, this will of course need a release note. I'd recommend anyone concerned that they might accidentally start relaying and mining OP_RETURN transactions to proactively set
-datacarriersize=0
now.