Skip to content

Add regtest block relay test and remove sync workaround#64

Open
oxarbitrage wants to merge 1 commit into
mainfrom
block-relay
Open

Add regtest block relay test and remove sync workaround#64
oxarbitrage wants to merge 1 commit into
mainfrom
block-relay

Conversation

@oxarbitrage

@oxarbitrage oxarbitrage commented Mar 16, 2026

Copy link
Copy Markdown
Contributor

Depends on ZcashFoundation/zebra#10403 (merged)

  • util.py: Remove the node-restart workaround from rebuild_cache(). Sync now relies solely on sync_blocks(), which is the correct behavior now that the Zebra fix has landed.
  • regtest_block_relay.py: New regression test for bug(network): Zebra broadcasting in regtest mode ZcashFoundation/zebra#10332 (comment). Three nodes in a linear A -- B -- C topology; node A mines 10 blocks; asserts all nodes reach height 10. This is the minimal reproduction case from the issue.

@oxarbitrage oxarbitrage marked this pull request as ready for review March 29, 2026 10:16
@oxarbitrage

Copy link
Copy Markdown
Contributor Author

Zebra fix (ZcashFoundation/zebra#10403) is now merged, so this is ready for review.

@oxarbitrage oxarbitrage force-pushed the block-relay branch 2 times, most recently from ec94a6b to c632a3c Compare June 12, 2026 14:33
@oxarbitrage

Copy link
Copy Markdown
Contributor Author

Rebased onto current main (was 12 commits behind; last full CI predated #138).

Conflict was in util.py's initialize_chain cache builder, where main had since added the zebra-broadcast workaround (sync_blocks_with_reconnect + stop/restart all zebrads, zebra #10329/#10332). Resolved in favor of this PR's intent — removing the workaround now that ZcashFoundation/zebra#10403 has merged — so cache sync relies solely on sync_blocks(rpcs) (60s timeout: fails fast rather than hanging if the broadcast fix isn't present). Also dropped the now-orphaned sync_blocks_with_reconnect helper, which only existed to serve that workaround.

The new regtest_block_relay.py is in NEW_SCRIPTS with cache_behavior='clean', so it does not trigger the 8-node cache pre-populate that #138 just fixed. This CI run is the real check that zebra#10403 is in the test binaries.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant