net: Provide block templates to peers on request #33191

pull ajtowns wants to merge 9 commits into bitcoin:master from ajtowns:202508-sendtemplate1 changing 17 files +451 −42
  1. ajtowns commented at 10:33 pm on August 14, 2025: contributor
    Implements the sending side of SENDTEMPLATE, GETTEMPLATE, TEMPLATE message scheme for sharing block templates with peers via compact block encoding/reconstruction.
  2. DrahtBot added the label P2P on Aug 14, 2025
  3. DrahtBot commented at 10:33 pm on August 14, 2025: contributor

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

    Code Coverage & Benchmarks

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

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

  4. node/miner: drop node/context include 5935551b24
  5. node/miner: Log via MINER debug category
    This removes "CreateNewBlock" messages from logs by default. Also changes
    "-printpriority" argument to automatically enable -debug=miner logging.
    d6f4d3ed47
  6. blockencoding: Move mempool to InitData argument
    This allows default initialisation of a PartiallyDownloadedBlock.
    9c28f7d3d1
  7. protocol.h: Define template sharing protocol messages
    Also covers functional test setup.
    e6b2db2f0b
  8. net_processing: add support for template sharing
    This adds suport for SENDTEMPLATE, GETTEMPLATE, TEMPLATE p2p messages to generate
    and send block templates to our peers. It does not support requesting templates from
    our peers.
    fc52a0a487
  9. blockencodings: Generalise vExtraTxns
    Allows extra transactions to be provided from structures other than a
    vector of CTransactionRefs.
    4a6233dd57
  10. net: use our own old templates to help reconstruct blocks 08a6c4872e
  11. rpc/net: provide experimental gettemplateinfo c0eae62830
  12. net_processing: drop dummy coinbase from templates
    Shared templates can never predict a future block's coinbase, so don't
    waste bandwidth including it; likewise don't include the first transaction
    in the compact block prefill when it's not a coinbase.
    355e0b2665
  13. ajtowns force-pushed on Aug 15, 2025
  14. DrahtBot added the label CI failed on Aug 15, 2025
  15. DrahtBot commented at 0:47 am on August 15, 2025: contributor

    🚧 At least one of the CI tasks failed. Task lint: https://github.com/bitcoin/bitcoin/runs/48132397637 LLM reason (✨ experimental): The CI failure is caused by a circular dependency detected during lint checks.

    Try to run the tests locally, according to the documentation. However, a CI failure may still happen due to a number of reasons, for example:

    • Possibly due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    • A sanitizer issue, which can only be found by compiling with the sanitizer and running the affected test.

    • An intermittent issue.

    Leave a comment here, if you need help tracking down a confusing failure.

  16. DrahtBot removed the label CI failed on Aug 15, 2025


ajtowns DrahtBot

Labels
P2P


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: 2025-08-15 15:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me