feat(wallet): hold a pool of Chia peers instead of one connection - #213
feat(wallet): hold a pool of Chia peers instead of one connection#213MichaelTaylor3d wants to merge 4 commits into
Conversation
|
Stand down on this shape — the objective is right, the location is wrong. Flagging now because this 1. A pool inside
Tracked as #2608, which supersedes and reframes #2606 (see the comment already on #2606). Creating 2. Both your goals are still real, and both belong in chia-query. A read-only inventory pass over 3. One thing that must survive whatever you build. The subscription session has to keep a dedicated 4. Suggested landing: close this branch, and take the same objective in the |
…al loopback dial Introduces sage::peer_pool: a pool that resolves its candidate address list ONCE and admits each address at most once, so one peer cannot occupy the pool or supply a whole quorum (dig_ecosystem#2606, #2573).
Resolves DNS introducers once and dials only chosen addresses, so loopback is a pool member only when the operator named it (dig_ecosystem#2573).
|
Following up now that this is 993 lines rather than three, having read what you actually built. My What you built is genuinely good, and it identifies a real defect. Your own doc-comment names it:
That is #2573, and it is a bug in chia-query, not in the wallet. Your loopback rule — that a local The problem is only the address. Concrete proposal, which preserves all 993 lines:
Two practical reasons not to continue here regardless of the above. If you think the port is wrong — for instance if there is something about chia-query's pool that makes |
DOES NOT COMPILE -- one E0774 (derive on a non-struct/enum/union) in the sage/peer_pool wiring. Salvaged from a lane a stall watchdog killed and committed so the work is not lost; the error is unfinished plumbing, not a flaw in the approach. Wires the sync supervisor onto a held chia peer pool instead of one writer session plus four throwaway corroboration probes. Refs #2606, #2573.
|
Picked up as an orphan and converted back to DRAFT (it was ready + ungated + DIRTY). Shape assessed against the chia-query and corroboration directives — it passes: connections come from |
|
Sequenced behind dig-node PR #222 (#2868 — a unanimous quorum is discarded when the writer disagrees). Both PRs edit the same money-bearing files and neither has passed a gate. #222 goes first because it is small, surgical, and it is the reason the replica is empty at all — measured on the installed 0.117.0 service: This PR is stale (no live lane) and will need a rebase onto #222 plus a fresh gate round. The work itself is not in question — just the ordering. Overlap: |
Closing unmerged — superseded, and merging this now would REGRESS
|
DO NOT MERGE - lane in progress (#2606, #2573).
Replaces the single held writer session + per-round fresh corroboration dials with a held pool of distinct Chia full-node peers, and closes the unconditional-localhost dial bias.
Closes #2606
Closes #2573