Skip to content

feat(ar): bind address-resolver registration over CXO (dual-write, additive) - #4175

Merged
0pcom merged 1 commit into
skycoin:developfrom
0pcom:feat/ar-bind-over-cxo
Aug 25, 2026
Merged

feat(ar): bind address-resolver registration over CXO (dual-write, additive)#4175
0pcom merged 1 commit into
skycoin:developfrom
0pcom:feat/ar-bind-over-cxo

Conversation

@0pcom

@0pcom 0pcom commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

Moves the visor→AR address binding (the stcpr/sudph/quic/wt reachable-address payloads currently POSTed to /bind, which SUDPH re-does every ~90s over a fresh dmsg stream) onto a persistent CXO feed on DmsgVisorARBindCXOPort (71). The handshake then happens once per visor instead of per-bind, removing the periodic secp256k1 Noise handshakeResponder work that dominates AR CPU (~53%).

Purely additive dual-write: the visor keeps doing the HTTP POST / UDP registration exactly as today (authoritative/fallback), and also publishes the CXO feed. The AR ingests from both into the same store; the CXO path is keepalive-first (refreshes the stored record's TTL, never clobbers a fresher HTTP/UDP bind), and only does a fresh insert for the address-POST types when no record exists yet — SUDPH is keepalive-only since its stored endpoint is the UDP-observed NAT-mapped address the declared payload can't reproduce. The aggregator node identity is bound to the AR service SecKey so gated visors accept its subscribe (cf. #4168).

@0pcom
0pcom merged commit bc24d9c into skycoin:develop Aug 25, 2026
13 of 16 checks passed
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