Skip to content

dash(s8-p2p.3): bind real sharechain P2P listener in --run - #659

Merged
frstrtr merged 1 commit into
masterfrom
dash/s8-p2p.3-listener-bind
Jul 10, 2026
Merged

dash(s8-p2p.3): bind real sharechain P2P listener in --run#659
frstrtr merged 1 commit into
masterfrom
dash/s8-p2p.3-listener-bind

Conversation

@frstrtr

@frstrtr frstrtr commented Jul 10, 2026

Copy link
Copy Markdown
Owner

S8-p2p.3 — listener bind

node.cpp reception bodies landed (#656/#657), so dash::Node (NodeBridge<NodeImpl,Legacy,Actual>) is now fully linkable. This slice makes c2pool-dash --run open a real sharechain P2P socket instead of only echoing the topology.

What changed

  • CMake: link the dash OBJECT lib (protocol_actual/legacy + node.cpp) into c2pool-dash; refresh the stale comment that claimed node.cpp does not exist.
  • main_dash.cpp run_node: replace the NOTE-only report_peering stub with a real bind — construct dash::Config + dash::Node, call core::Server::listen(port). Default port 8999 (testnet 18999), --listen [HOST:]PORT override, --connect suppresses inbound.

Scope / honesty

  • Inbound reception is live (version handshake + dash: parameterized min-protocol-version ratchet gate + KAT (#643, option a) #646 min-proto gate via node.cpp).
  • Outbound dialing is deferred: dash::NodeImpl has no start_outbound_connections yet (rides the download/outbound slice). --addnode/--connect targets are registered in the addr store but not actively dialed. Labelled in code + logs — not a silent stub.
  • PREFIX kept as a per-coin isolation primitive (oracle constants). dashd-RPC submitblock fallback untouched.
  • SAFE-ADDITIVE: the only executable linking dash is c2pool-dash; ltc/btc/doge/dgb build+ctest surfaces untouched.

Verification (Linux x86_64)

  • cmake --build . --target dash — object lib builds clean.
  • cmake --build . --target c2pool-dash — links clean.
  • ./c2pool-dash --run --testnet --listen 29777ss shows LISTEN 0.0.0.0:29777 held by c2pool-dash; log: Factory started for port: 29777.

Stacks on master @fa4eef43. Requesting integrator diff + full-CI verify (oracle + Linux ctest, no false-green).

node.cpp reception bodies landed (#656/#657), so dash::Node
(NodeBridge<NodeImpl,Legacy,Actual>) is fully linkable. Link the dash
OBJECT lib into c2pool-dash and replace the NOTE-only report_peering stub
with a real bind: --run now constructs dash::Config + dash::Node and calls
core::Server::listen(port), opening an actual sharechain P2P socket
(default 8999/testnet 18999, --listen [HOST:]PORT override; --connect
suppresses inbound). PREFIX kept as a per-coin isolation primitive from
the frstrtr/p2pool-dash oracle constants.

Inbound reception (version handshake + #646 min-proto gate) is live via
node.cpp. Active outbound dialing of addnode/connect seeds rides the
download/outbound slice (dash::NodeImpl has no start_outbound_connections
yet); seeds are registered in the addr store. dashd-RPC submitblock
fallback untouched.

Verified: c2pool-dash --run --testnet --listen 29777 -> ss shows
LISTEN 0.0.0.0:29777 held by c2pool-dash; Factory started for port 29777.
@frstrtr
frstrtr merged commit 7c09b95 into master Jul 10, 2026
26 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