If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
<!--174a7506f384e20aa4161008e828411d-->
Conflicts
Reviewers, this pull request conflicts with the following ones:
#26201 (Remove Taproot activation height by Sjors)
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.
<!--5faf32d7da4f0f540f40219e4f7537a3-->
DrahtBot added the label Mining on Apr 30, 2025
sedited
commented at 12:35 PM on April 30, 2025:
contributor
Can this be a scripted diff?
Sjors force-pushed on Apr 30, 2025
Sjors
commented at 12:49 PM on April 30, 2025:
member
@TheCharlatan converted to a scripted diff plus a documentation commit.
scripted-diff: rename gbt_force and gbt_force_name
The term "force" is ambiguous and not used in BIP9 where the ! rule
prefix is introduced.
Additionally, #29039 renamed gbt_vb_name to gbt_force_name which
might increase the confusion.
-BEGIN VERIFY SCRIPT-
sed -i s/gbt_force_name/gbt_rule_value/g ./src/rpc/mining.cpp
sed -i s/gbt_force/gbt_optional_rule/g $(git grep -l gbt_force)
-END VERIFY SCRIPT-
5e87c3ec09
mining: document gbt_rule_value helper0750249289
Sjors force-pushed on Apr 30, 2025
ajtowns
commented at 1:44 PM on April 30, 2025:
contributor
Note that there this field combines three effects:
per bip-9, it means that the template incorporates features from that soft fork and miners not aware of what the soft fork means may produce invalid blocks by mining in the regular way
similar to bip-145's implication that clients must specify "segwit" in the rules field of its request in order for witness txs to be included, it becomes an error if a client doesn't explicitly indicate support for a feature that's activated when requesting a template
when a "!" soft fork is in the signalling phase, if the getblocktemplate request didn't indicate support, then the template won't signal for the feature by default
This seems potentially dangerous when combined with forced signalling, which IIRC has occasionally been proposed after Bitcoin Core already shipped activation code. Once something is locked in, there's less utility in (correctly) signalling, so it could make sense to "lie", especially since behavior (2) inevitably kicks at activation time:
On the other hand, perhaps a helpful community member notices the lack of signalling at this stage and alerts the miner of the impending doom. And SPV clients could use it to anticipate a bumpy period of small reorgs.
achow101
commented at 8:12 PM on April 30, 2025:
member
ACK0750249289c092fc8e2e29669fec73a58b873767
This was a little bit confusing to me when reviewing #29039
janb84
commented at 12:03 PM on May 1, 2025:
contributor
The rename of the variables results in less confusion of the intention of the code. And the extra comment explaining the workings of the ! prefix helps to clarify intentions/code even further.
musaHaruna
commented at 1:52 PM on May 5, 2025:
contributor
ACK0750249
After reading BIP9, I think variable rename from gbt_force to gbt_optional_rule makes the intent and purpose clear as it reflect's what being stated in the specification
DrahtBot requested review from musaHaruna on May 5, 2025
This is a metadata mirror of the GitHub repository
bitcoin/bitcoin.
This site is not affiliated with GitHub.
Content is generated from a GitHub metadata backup.
generated: 2026-08-11 10:51 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me