Skip to content

dgb: minimal compiling skeleton + c2pool-dgb target (slice #4, Option B) - #112

Merged
frstrtr merged 3 commits into
masterfrom
dgb/slice4-skeleton
Jun 17, 2026
Merged

dgb: minimal compiling skeleton + c2pool-dgb target (slice #4, Option B)#112
frstrtr merged 3 commits into
masterfrom
dgb/slice4-skeleton

Conversation

@frstrtr

@frstrtr frstrtr commented Jun 16, 2026

Copy link
Copy Markdown
Owner

Summary

Slice #4 (Option B per integrator): author a genuinely minimal compiling skeleton so c2pool-dgb builds and links off current master, without dragging Phase B (pool pillars / PPLNS) forward.

  • New src/impl/dgb/node.cpp — skeleton dgb::network_summary() + dgb::run_skeleton(). No DensePPLNSWindow / PPLNS / p2p run-loop (that body is M3 / Phase B).
  • New src/c2pool/main_dgb.cpp — stub entry (--version / --help / banner), mirrors main_btc.cpp shape pruned to a stub.
  • src/impl/dgb/node.hpp — two skeleton declarations added.
  • src/c2pool/CMakeLists.txt — new add_executable(c2pool-dgb ...) target mirroring c2pool-btc.

Why it links with no coin lib

The skeleton references no core/coin/pool/ltc symbols (only std + the header-only dgb config). So the target compiles node.cpp directly and links only json + Boost — it needs no coin lib and sidesteps the core/web_server self-link tangle that forces c2pool-btc to drag in ltc/payout/merged. The top-level OBJECT-lib registration of src/impl/dgb (ci-steward convention PR) is intentionally not raced here.

Scope rails (per integrator)

  • Touches ONLY src/impl/dgb/ + the CMake target add. Zero edits to src/impl/dash (X11 tree intact) and src/impl/btc.
  • No cherry-pick / merge from the dash-deleting stale branches.
  • Cut fresh off current master (a504426).

Verification (local)

  • cmake --build build --target c2pool-dgb → links clean.
  • c2pool-dgb --version / --help → correct banner; network summary reads pool_p2p_port=5024, coin_p2p_port=12024, block_period=15s, gbt_algo=scrypt.

Follow-up

When the pool-pillars node.cpp lands (Phase B), it replaces this skeleton via a clean dgb-only re-cut off master.

HOLD: do not merge — master merge needs the operator tap; integrator routes.

frstrtr added 2 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.
…the matrix

Add dgb/slice4-skeleton to pull_request.branches in build.yml and
coin-matrix.yml. The filter is read from the base branch copy, so PRs
targeting this integration branch (#113 dgb/share-layer-port) otherwise
never trigger. Additive only; per-coin source-presence guard unchanged.
@frstrtr
frstrtr merged commit fc436c0 into master Jun 17, 2026
17 checks passed
@frstrtr
frstrtr deleted the dgb/slice4-skeleton branch June 17, 2026 06:23
@frstrtr
frstrtr restored the dgb/slice4-skeleton 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