forked from bitcoin/bitcoin
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b21c0e9
commit dba211a
Showing
1 changed file
with
23 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
- Node and Mining | ||
|
||
--- | ||
|
||
- **PR #31384** fixed an issue where the coinbase transaction weight was being reserved in two separate places. | ||
When the node constructs a new block, e.g. for a `getblocktemplate` RPC call, it doesn't generate the coinbase | ||
transaction. Instead it reserves `4,000` weight units (WU) for it. Before this pull request, the default for | ||
`-blockmaxweight` was `3,996,000`, which effectively added another `4,000` weight units (WU) to this reservation, | ||
leading to a template size of `3,992,000`. | ||
|
||
- The fix consolidates the reservation into a single place and introduces a new startup option, | ||
`-coinbasereservedweight` (default: `8,000` weight units). This option specifies the weight units | ||
reserved for the coinbase transaction. The default value of `-coinbasereservedweight` was chosen | ||
to preserve the previous behavior. | ||
|
||
- **Upgrade Note:** The default `-coinbasereservedweight` ensures backward compatibility for users who did not override | ||
`-blockmaxweight` and relied on the previous behavior. | ||
|
||
- Users who manually set `-blockmaxweight` to its maximum value `4,000,000` can lower | ||
`-coinbasereservedweight` to `4,000` to maintain the previous behaviour. | ||
|
||
- Bitcoin Core will now **fail to start** if the `-blockmaxweight` or `-coinbasereservedweight` init parameter exceeds | ||
the consensus limit of `4,000,000` weight units. |