Skip to content

dgb: Phase B pool wire-message layer (messages, share_messages) — Scrypt-only - #115

Merged
frstrtr merged 4 commits into
masterfrom
dgb/pool-layer-port
Jun 17, 2026
Merged

dgb: Phase B pool wire-message layer (messages, share_messages) — Scrypt-only#115
frstrtr merged 4 commits into
masterfrom
dgb/pool-layer-port

Conversation

@frstrtr

@frstrtr frstrtr commented Jun 16, 2026

Copy link
Copy Markdown
Owner

Phase B pool/share layer, slice 1 on the family-1 foundation. Stacked on share-layer pillars (#113), which is stacked on the skeleton (#112).

What

Ports the pool wire-message layer into src/impl/dgb/:

  • messages.hpp (191L) — pool P2P message definitions
  • share_messages.hpp (579L) — V36 share-embedded messaging (decrypt + validate + ECDSA sign)

Divergence from ltc

Namespace-only (ltcdgb). The SHA256/HMAC-SHA256/ECDSA in share_messages is the PoW-algo-independent p2pool message-signing layer (not the Scrypt block PoW) — identical across coins. Wire/message format byte-parity with p2pool-merged-v36 preserved.

Next slice

Unblocks share_check.hpp + share_tracker.hpp (carry DGB consensus constants, e.g. SEGWIT_ACTIVATION_VERSION — needs farsider350 byte-parity verification, separate slice).

Merge posture

HOLD — integrator merges on operator approval. Stacked: merge #112#113 → this, in order.

GPG-signed (8da2172).

frstrtr added 4 commits June 16, 2026 13:39
Author a genuinely minimal src/impl/dgb/node.cpp + src/c2pool/main_dgb.cpp
and add the c2pool-dgb add_executable target (mirrors c2pool-btc) so the DGB
binary builds and links off master. COMPILING SKELETON ONLY -- the embedded
daemon + pool/sharechain body (PPLNS) is M3 / Phase B per the embedded-daemon
roadmap (DGB = PORT-not-activation; Phase A p2p+mempool already landed under
impl/dgb/coin/).

The target compiles node.cpp directly and links only json + Boost: the
skeleton references no core/coin/pool/ltc symbols, so it needs no coin lib and
the top-level OBJECT-lib registration of src/impl/dgb (ci-steward convention
PR) is not raced here. When the pool-pillars node.cpp lands (Phase B) it
replaces the skeleton via a clean dgb-only re-cut off master.

Scope: src/impl/dgb/ + the CMake target add only. No edits to src/impl/dash or
src/impl/btc. Builds, links, and runs (--version / --help) verified locally.
The slice #4 skeleton reads only header constexpr constants from
impl/dgb/config_{coin,pool}.hpp, but those headers include
core/netaddress.hpp which pulls in <yaml-cpp/yaml.h>. The target linked
only json + Boost, so the yaml-cpp include dir was absent and the dgb
smoke build failed (fatal error: yaml-cpp/yaml.h: No such file).

Link yaml-cpp::yaml-cpp for its include path only. Linking the full core
library instead would drag in core/web_server.o + stratum_server.o and
their merged/payout/hashrate/ltc symbols (the c2pool-btc self-link
tangle) and pull Phase B forward; the skeleton needs no core symbols, so
the header path alone is the minimal fix. Verified: c2pool-dgb compiles,
links, and runs --version/--help locally.
…only divergence from ltc; Formatter byte-parity with p2pool-merged-v36 preserved
…-only

Pool/share layer slice 1 on family-1 foundation, stacked on share-layer
pillars (#113). Namespace-only divergence from src/impl/ltc; the SHA256/
HMAC-SHA256/ECDSA in share_messages is the PoW-algo-independent p2pool
message-signing layer (not Scrypt block PoW). Wire/message format byte-
parity with p2pool-merged-v36 preserved. Unblocks share_check/share_tracker
port (next slice).
@frstrtr frstrtr closed this Jun 16, 2026
@frstrtr frstrtr reopened this Jun 16, 2026
@frstrtr
frstrtr merged commit 8498833 into master Jun 17, 2026
32 checks passed
@frstrtr
frstrtr deleted the dgb/pool-layer-port branch June 17, 2026 06:23
@frstrtr
frstrtr restored the dgb/pool-layer-port branch June 17, 2026 06:34
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