Commit Graph
4 Commits
Author SHA1 Message Date
DanS 10906597d4 Fix DragonX P2P port, block subsidy, blocktime, and difficulty params
- chainparams.cpp: Correct P2P port from 18030 to 21768
- hush_utils.h: Use CRC-based network magic instead of HUSH_MAGIC shortcut
  so new standalone binary matches existing network nodes
- hush_utils.h: Remove DragonX-specific hush_block_subsidy() call, use
  generic ASSETCHAINS_HALVING logic consistent with mainnet
- hush_utils.h: Fix P2P port override so -port flag works correctly
- main.cpp: Remove blocktime halving code (150s→75s at z2zheight) that
  does not apply to DragonX's fixed 36s blocktime
- pow.cpp: Use params.AveragingWindowTimespan() (17*36=612) instead of
  standalone AveragingWindowTimespan() which returns HUSH3's 17*75=1275
2026-03-04 00:14:39 -06:00
DanS c05134e77e Compliant rebrand: legal compliance, code audit, and documentation (Phases 0-3)
Phase 0 - Legal Compliance:
- COPYING: Add DragonX copyright, preserve all upstream attributions
- AUTHORS: Add DragonX developers section
- LICENSE: Restore standard FSF GPLv3 text (fix GNU→GENERAL error)
- Add DragonX copyright headers to all 21 modified source files
- contrib/debian/copyright: Add DragonX attribution
- README.md: Add GPLv3 Section 5(a) attribution section

Phase 1 - init.cpp Cleanup:
- PID file: hushd.pid → dragonxd.pid
- Shutdown thread: hush-shutoff → dragonx-shutoff
- Debug message: stopping HUSH → stopping DragonX

Phase 2 - HUSH3/ishush3 Code Audit:
- Rename ishush3 → isdragonx across ~15 source files
- Update "HUSH3" chain-identity checks to "DRAGONX" in consensus,
  difficulty, notarization, devtax, and RPC code
- Intentionally preserve cross-chain "HUSH3" refs (gateway, notary dest)
- Build verified: all three binaries compile cleanly

Phase 3 - Documentation:
- README.md: Full rewrite with DragonX chain params, build instructions
- Man pages: Create dragonxd.1, dragonx-cli.1, dragonx-tx.1 (v1.0.0)
- Doc files: Add beefy-DRAGONX.conf, dragonxd-systemd.md, dragonxd.service
- Init scripts: Create dragonxd.{conf,init,openrc,openrcconf,service}
- Debian packaging: Update control, changelog, install, manpages, examples
- Update doc/init.md and contrib/init/README.md
2026-03-03 19:01:24 -06:00
DanS 4cb5a86056 Rebrand hush3 to DragonX: binaries, defaults, and build system
- Rename binaries: hushd/hush-cli/hush-tx → dragonxd/dragonx-cli/dragonx-tx
- Default to DRAGONX chain params without -ac_* flags (randomx, blocktime=36, private=1)
- Update configure.ac: AC_INIT([DragonX],[1.0.0])
- Update client version string and user-agent to /DragonX:1.0.0/
- Add chainparams.cpp with DRAGONX network parameters
- Update build.sh, miner.cpp, pow.cpp for DragonX
- Add bootstrap-dragonx.sh utility script
- Update .gitignore for release directory
2026-03-03 17:29:06 -06:00
DanS d6ba1aed4e Fix RandomX validation exploit: verify nSolution contains valid RandomX hash
- Add CheckRandomXSolution() to validate RandomX PoW in nSolution field
- Add ASSETCHAINS_RANDOMX_VALIDATION activation height per chain
  (DRAGONX: 2838976, TUMIN: 1200, others: height 1)
- Add CRandomXInput serializer for deterministic RandomX hash input
- Fix CheckProofOfWork() to properly reject invalid PoW (was missing
  SMART_CHAIN_SYMBOL check, allowing bypass)
- Call CheckRandomXSolution() in hush_checkPOW and CheckBlockHeader

Without this fix, attackers could submit blocks with invalid RandomX
hashes that passed validation, as CheckProofOfWork returned early
during block loading and the nSolution field was never verified.
2026-03-03 17:28:49 -06:00