Skip to content

dgb: Phase B pool-layer slice 2 — sharechain verify+tracker (share_check, share_tracker) — Scrypt-only - #116

Closed
frstrtr wants to merge 1 commit into
dgb/pool-layer-portfrom
dgb/share-pool-layer
Closed

dgb: Phase B pool-layer slice 2 — sharechain verify+tracker (share_check, share_tracker) — Scrypt-only#116
frstrtr wants to merge 1 commit into
dgb/pool-layer-portfrom
dgb/share-pool-layer

Conversation

@frstrtr

@frstrtr frstrtr commented Jun 16, 2026

Copy link
Copy Markdown
Owner

Phase B pool-layer slice 2, stacked on #115 (base dgb/pool-layer-port).

What

Ports the sharechain verification + tracker pillars into the dgb namespace:

  • src/impl/dgb/share_check.hpp (3307L) — share init/check, hash-link, merkle-link, gentx/PPLNS verify
  • src/impl/dgb/share_tracker.hpp (2814L) — verified-chain tracking, scoring, decayed PPLNS weights

Divergence from src/impl/ltc

Namespace-only, with ONE consensus constant:

  • share_check.hpp: 0 non-namespace diff lines (pure ltcdgb)
  • share_tracker.hpp: namespace + parent block-period score window 150s→15s = DGB BLOCK_PERIOD (farsider350 digibyte.py:21)

SHARE_PERIOD (25), CHAIN_LENGTH/REAL_CHAIN_LENGTH (8640) already match farsider350 via config_pool.hpp PoolConfig accessors — no further divergence.

Compat

  • Formatter / wire layout byte-parity with p2pool-merged-v36 preserved.
  • DOGE-aux merged-mining verify paths carried verbatim, dormant in the default (no -DAUX_DOGE) build; parent-target semantics now = DGB-Scrypt.

Verification

Header-only pillars, not yet wired into node.hpp (later slice), mirroring #113/#115. Standalone -fsyntax-only error set is byte-identical to the upstream ltc header (pre-existing consumer-provided include order: <cstdint>, mul128_shift), proving the port adds no compile regression.

HOLD merge — integrator merges on operator push approved. Stack order: #112#113#115 → this.

…rypt-only

Phase B pool-layer slice 2. Ports ltc share_check.hpp (3307L) and
share_tracker.hpp (2814L) into the dgb namespace.

Divergence from src/impl/ltc is namespace-only (ltc -> dgb) EXCEPT one
consensus constant: parent block-period score window uses DGB BLOCK_PERIOD
= 15s (farsider350 digibyte.py:21) vs LTC 150s. SHARE_PERIOD (25),
CHAIN_LENGTH/REAL_CHAIN_LENGTH (8640) already match farsider350 via
config_pool.hpp PoolConfig accessors — no further divergence.

Formatter / wire layout byte-parity with p2pool-merged-v36 preserved.
DOGE-aux merged-mining verify paths carried verbatim, dormant in the
default (no -DAUX_DOGE) build; parent-target semantics now = DGB-Scrypt.

Header-only pillars, not yet wired into node.hpp (later slice), mirroring
prior slices. Verified: standalone -fsyntax-only error set is byte-identical
to the upstream ltc header (pre-existing consumer-provided include order).
@frstrtr
frstrtr deleted the branch dgb/pool-layer-port June 17, 2026 06:23
@frstrtr frstrtr closed this Jun 17, 2026
frstrtr added a commit that referenced this pull request Jun 17, 2026
dgb: RE-LAND sharechain verify+tracker (recover orphaned #116 slice-2)
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