tools(btc): pre-stage full G3b standup — dual-path broadcaster, one-command unblock - #460
Merged
Conversation
Fails closed while parent bitcoind is in IBD (getblocktemplate rejected), refusing to stand up the c2pool BTC layer against an unsynced parent so no G2/G3 live-block evidence is captured against an invalid template source. Prints the documented --testnet --bitcoind 127.0.0.1:18333 launch command once GBT serves a template. Scripts-only; no consensus code touched.
…mmand unblock) Stacks on the VM130 readiness gate. Pre-stages everything the BTC live lane needs so the eventual unblock (testnet3 IBD completes / SHA256d rig key #387/#388 lands) is one command, not a fresh scramble. No rig key and no IBD-complete are required to author or dry-run any of this. - vm130_btc_readiness_gate.sh: EXTENDED to assert the dual-path broadcaster preconditions on top of the existing IBD/template gate -- ARM B (submitblock RPC method live) and ARM A (>=1 P2P peer so an on_block_found relay has a landing site). Still fails closed. - vm130_btc_standup.sh: one-command orchestrator (single or tuned 2-instance A->B crossing via opt-in --sharechain-port #457); --dry-run prints the plan. - g3b_block_acceptance.py: runnable FOUND->ASSEMBLED->ACCEPTED->BROADCAST over BOTH arms x 3 regimes; --dry-run asserts reaches_network orthogonal to (arm,regime); --live drives ARM B for real, marks ARM A rig-gated. Scripts-only, fenced under tools/testnet/, no core/consensus change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pre-stages the full BTC G3b standup so the eventual unblock (testnet3 IBD completes / SHA256d rig key #387/#388 lands) is one command, not a fresh scramble. Authoring + dry-run need no rig key and no IBD-complete. Scripts-only, fenced under
tools/testnet/, no core/consensus change.Stacks on the VM130 readiness gate (base =
btc/vm130-readiness-gate).What lands
vm130_btc_readiness_gate.sh— EXTENDED with dual-path broadcaster preconditions on top of the existing IBD/template gate:submitblockRPC method is live (RPC fallback path).getconnectioncount>= 1 so anon_block_foundP2P relay has a landing site (a 0-peer node would accept submitblock but silently drop a relay → ARM A would pass falsely). Fails closed.vm130_btc_standup.sh— one-command orchestrator: composes the gate then launches c2pool-btc.singleortuned(2-instance A→B crossing via opt-in--sharechain-portbtc: --sharechain-port flag for isolated second instance (G3b tuned-net) #457).--dry-runprints the full plan and runs nothing.g3b_block_acceptance.py— runnable G3bFOUND→ASSEMBLED→ACCEPTED→BROADCASTover both arms × 3 regimes (v35/HYBRID/v36).--dry-runassertsreaches_networkis orthogonal to (arm, regime);--livedrives ARM B submitblock for real and marks ARM A rig-gated (never silently passed).Dry-run output (this PR head)
Standup
--dry-run(single + tuned) plans print and run nothing;bash -n+py_compileclean.I do not self-merge — operator/integrator tap.