mining: add coinbase locktime and sequence fields to getblocktemplate RPC #34419

pull Sjors wants to merge 2 commits into bitcoin:master from Sjors:2026/01/bip-coinbase-fields changing 3 files +15 −1
  1. Sjors commented at 2:17 PM on January 27, 2026: member

    BIP54 proposes contraining the cointbase transaction nLockTime and nSequence fields. Our internal mining code has been doing this since #32155, but currently the fields are only communicated to IPC clients (see e.g. #33819).

    This PR extends the getblocktemplate RPC to provide these fields.

    Accompanying proposed extension to BIP54: https://github.com/bitcoin/bips/pull/2097

    Even if BIP54 never activates, it makes sense to serve these new fields.

  2. refactor: use CoinbaseTx for coinbasevalue a73c41a1dc
  3. DrahtBot added the label Mining on Jan 27, 2026
  4. DrahtBot commented at 2:17 PM on January 27, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/34419.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK nervana21
    Concept NACK darosior
    Concept ACK jonatack

    If your review is incorrectly listed, please copy-paste <code>&lt;!--meta-tag:bot-skip--&gt;</code> into the comment that the bot should ignore.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  5. Sjors force-pushed on Jan 27, 2026
  6. DrahtBot added the label CI failed on Jan 27, 2026
  7. Sjors commented at 3:03 PM on January 27, 2026: member

    Added the coinbase nVersion.

  8. Sjors renamed this:
    mining: add coinbase locktime and sequence fields to getblocktemplate RPC
    mining: add coinbase locktime, sequence and version fields to getblocktemplate RPC
    on Jan 27, 2026
  9. DrahtBot removed the label CI failed on Jan 27, 2026
  10. Sjors marked this as ready for review on Feb 9, 2026
  11. mining: add coinbase locktime and sequence fields
    Expand the getblocktemplate RPC result with two fields to prepare
    for a possible BIP54 deployment in the future.
    e3d4f3f7fe
  12. Sjors force-pushed on Mar 4, 2026
  13. Sjors commented at 1:33 PM on March 4, 2026: member

    I dropped nVersion from the proposal, see https://github.com/bitcoin/bips/pull/2097#issuecomment-3997488850.

    Although it's harmless to add, I also dropped it from the implementation here for clarity. It can be added in a followup.

  14. Sjors renamed this:
    mining: add coinbase locktime, sequence and version fields to getblocktemplate RPC
    mining: add coinbase locktime and sequence fields to getblocktemplate RPC
    on Mar 4, 2026
  15. DrahtBot added the label CI failed on Mar 4, 2026
  16. DrahtBot removed the label CI failed on Mar 5, 2026
  17. jonatack commented at 3:09 AM on April 24, 2026: member

    Concept ACK

  18. nervana21 commented at 7:47 AM on May 8, 2026: contributor

    tACK e3d4f3f7feff584a5b5a74d4d3e4183242972650

  19. DrahtBot requested review from jonatack on May 8, 2026
  20. sedited requested review from darosior on May 8, 2026
  21. darosior commented at 7:04 PM on May 19, 2026: member

    This implements a BIP whose stated motivation is to help miners upgrade to be BIP 54 compatible. However, as i argued before, i don't think that adding these fields achieve the stated goal. Mining pool software already has all the necessary data to set the values appropriately (as evidenced by CKpool change here, ViaBTC-ancestor change here, or more generally the BIP 54 compatibility take-up). In fact, this change would introduce an artificial reliance on upgrading to a future Bitcoin Core version for BIP 54 compatibility, which actually makes migration an order of magnitude harder than just updating two hardcoded constants in mining pool software. Therefore i don't think we should make this change. Concept NACK.

  22. ryanofsky commented at 9:23 PM on May 19, 2026: contributor

    @darosior would you object to this change if the references to BIP54 were removed? IIUC this PR also has non-BIP54 motivations, like making the IPC and RPC mining interfaces more consistent, and giving miners more information from the node so client code can be simpler and less error-prone.

  23. darosior commented at 9:32 PM on May 19, 2026: member

    I guess such an effort can be judged on its own, and would likely need to be a new PR since it would presumably overhaul both the motivation and the content of this PR. I remain skeptical that providing fields that we don't expect anybody to use is useful, but consistency between interfaces sounds good, sure.


github-metadata-mirror

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-05-20 06:52 UTC