For finished transactions, this allows the inspection of when and to whom the transaction was sent as well as when/if it was echoed from the network.
private broadcast: show finished transactions in getprivatebroadcastinfo #36477
pull vasild wants to merge 1 commits into bitcoin:master from vasild:pb_show_concluded changing 8 files +191 −69-
vasild commented at 3:16 PM on October 8, 2026: contributor
- DrahtBot added the label Private Broadcast on Oct 8, 2026
-
DrahtBot commented at 3:16 PM on October 8, 2026: contributor
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--006a51241073e994b41acfe9ec718e94-->
External sites
- Code coverage & benchmarks: https://corecheck.dev/bitcoin/bitcoin/pulls/36477
- Ralph review <img src=https://review.fish.foo/assets/bitcoin/bitcoin/36477.png alt="Ralph review status"> https://git.fish.foo/bitcoin/bitcoin/pulls/36477#author-ralph
<!--021abf342d371248e50ceaed478a90ca-->
Reviews
See the guideline and AI policy for information on the review process. A summary of reviews will appear here.
<!--174a7506f384e20aa4161008e828411d-->
Conflicts
Reviewers, this pull request conflicts with the following ones:
- #36429 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/36429.svg"></sub> ([RFC] Delayed transaction broadcast, minimal by optout21)
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-->
-
bce73a17fd
private broadcast: show finished transactions in getprivatebroadcastinfo
For finished transactions, this allows the inspection of when and to whom the transaction was sent as well as when/if it was echoed from the network. Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
- vasild force-pushed on Oct 8, 2026
- DrahtBot added the label CI failed on Oct 8, 2026
- DrahtBot removed the label CI failed on Oct 8, 2026
-
in src/private_broadcast.cpp:27 in bce73a17fd
29 | 30 | if (const auto it{m_transactions.find(tx)}; it != m_transactions.end()) { 31 | - if (it->second.send_statuses.size() < m_max_send_attempts) return AddResult::AlreadyPresent; 32 | + auto& state{it->second}; 33 | + 34 | + if (!IsFinished(state)) { // We are still trying
frankomosh commented at 6:42 PM on October 19, 2026:A tx that used all its send attempts, but never came back from the network, can no longer be sent again. Now
Add()can only restarts a tx that is resolved. ButGetStale()skips such a tx, so nothing marks it resolved.Are we getting rid of the 'retry' feature..?
in src/private_broadcast.cpp:80 in bce73a17fd
77 | if (it == m_transactions.end()) return false; 78 | - it->second.resolved = true; 79 | + auto& state{it->second}; 80 | + state.resolved = true; 81 | + if (received_from.has_value()) { 82 | + state.received_by_us.emplace(received_from.value(), NodeClock::now());
frankomosh commented at 6:44 PM on October 19, 2026:If another peer sends us the same tx later, this line replaces the saved peer and time. So
received_by_usmay not show the first peer that sent it back.Should we keep the first one?
frankomosh commented at 6:48 PM on October 19, 2026: contributorI guess this is a continuation of #34707. Could you share what was added or left out compared to it?
ContributorsLabels
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-10-21 18:51 UTC
More mirrored repositories can be found on mirror.b10c.me