Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add NODE_TXRELAY_V2. #30837

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

Conversation

ariard
Copy link
Contributor

@ariard ariard commented Sep 6, 2024

This is the top commit from #30572, where the new node service bit support commit is extracted on its own.

See the corresponding BIP draft for motivation: bitcoin/bips#1663

Dissociating this change from halting the processing of unrequested transaction, allow the node service bit support to be used for further policies and mechanisms, beyond this mechanism only.

This does not add default signaling of NODE_TXRELAY_V2 as node local
services.
@DrahtBot
Copy link
Contributor

DrahtBot commented Sep 6, 2024

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

Code Coverage

For detailed information about the code coverage, see the test coverage report.

Reviews

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

@ariard ariard marked this pull request as draft September 6, 2024 18:46
@@ -329,6 +329,9 @@ enum ServiceFlags : uint64_t {
// NODE_P2P_V2 means the node supports BIP324 transport
NODE_P2P_V2 = (1 << 11),

// NODE_TXRELAY_V2 means the node supports BIPXXX transaction-relay v2 protocol
NODE_TXRELAY_V2 = (1 << 12),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(in case you're not waiting for concept acks)

/src/protocol.cpp:94:13: error: enumeration value 'NODE_TXRELAY_V2' not handled in switch [-Werror,-Wswitch]
   94 |     switch ((ServiceFlags)service_flag) {
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will fix it, still looking more for reviews on the BIPs themselves for the disruption minimization approach of restraining the acceptance of unsolicited transactions among upgraded peers only.

@DrahtBot
Copy link
Contributor

DrahtBot commented Sep 7, 2024

🚧 At least one of the CI tasks failed.
Debug: https://github.com/bitcoin/bitcoin/runs/29798727914

Hints

Make sure to run all tests locally, according to the documentation.

The failure may 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants