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

Relay compact block messages prior to full block connection #9375

Merged
merged 14 commits into from Jan 13, 2017

Commits on Jan 4, 2017

  1. Configuration menu
    Copy the full SHA
    8017547 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9a0b2f4 View commit details
    Browse the repository at this point in the history
  3. [qa] Avoid race in preciousblock test.

    If node 0 is sufficiently fast to announce its block to node 1,
    node 1 might already have the block by the time the
    node_sync_via_rpc loop gets around to node 1, resulting in the
    submitblock result "duplicate-inconclusive" as node 1 has the block,
    but prefers an alternate chain.
    TheBlueMatt committed Jan 4, 2017
    Configuration menu
    Copy the full SHA
    8baaba6 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    180586f View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2017

  1. Configuration menu
    Copy the full SHA
    6987219 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c802092 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9eaec08 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5749a85 View commit details
    Browse the repository at this point in the history
  5. Ensure we meet the BIP 152 old-relay-types response requirements

    In order to do this, we must call ActivateBestChain prior to
    responding getdata requests for blocks which we announced using
    compact blocks.
    
    For getheaders responses we dont need code changes, but do note
    that we must reset the bestHeaderSent so that the SendMessages call
    re-announces the header in question.
    
    While we could do something smarter for getblocks, calling
    ActivateBestChain is simple and more obviously correct, instead of
    doing something more similar to getheaders.
    
    See-also the BIP clarifications at
    bitcoin/bips#486
    TheBlueMatt committed Jan 5, 2017
    Configuration menu
    Copy the full SHA
    9eb67f5 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c1ae4fc View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2017

  1. Configuration menu
    Copy the full SHA
    0df777d View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2017

  1. Call ActivateBestChain without cs_main/with most_recent_block

    There is still a call to ActivateBestChain with cs_main if a peer
    requests the block prior to it being validated, but this one is
    more specifically-gated, so should be less of an issue.
    TheBlueMatt committed Jan 12, 2017
    Configuration menu
    Copy the full SHA
    962f7f0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    73666ad View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2017

  1. Configuration menu
    Copy the full SHA
    02ee4eb View commit details
    Browse the repository at this point in the history