Eddycoin D-Chain GPU miner (OpenCL) - real GPU compute, test coin only
======================================================================
Real parallel double-SHA-256 proof-of-work on your graphics card via PyOpenCL (a stand-in for
ETChash). Every nonce the GPU reports is re-checked on the host with hashlib before it is used.
The kernel was validated against hashlib on an OpenCL CPU device (pocl); real GPUs use the same code.

Setup:  py -m pip install pyopencl numpy        (see INSTALL_WINDOWS.txt for drivers)
Check:  py eddycoin_dchain_gpu_miner.py --list-devices
Window: py eddycoin_dchain_gpu_miner.py          (or Eddycoin GPU Miner.exe)
Live:   py eddycoin_dchain_gpu_miner.py --wallet eddy1YOURADDRESS [--device 0] [--batch 4194304] [--intensity 70]
Offline: py eddycoin_dchain_gpu_miner.py --offline --minutes 2 --party A   (results file, no network)

Quick start (live testnet)
--------------------------
  1. Open https://eddycoin-demo.pages.dev/live  (or start Eddycoin Wallet).
  2. "Create my wallet": name + password (twice), "Download backup", then "Copy address".
     Step-by-step guide with screenshots: https://eddycoin-demo.pages.dev/wallet-guide
  3. Start BOTH miners with your address (double-click the .exe and paste the address, or):
       py eddycoin_echain_cpu_miner.py --wallet eddy1YOURADDRESS
       py eddycoin_dchain_gpu_miner.py --wallet eddy1YOURADDRESS
     (--wallet-file "my wallet.json" works too: only the public address is read, no password)
  4. Watch your blocks and coins on /live. A reward is "pending" until both an E-Chain (CPU) and
     a D-Chain (GPU) block exist for the open Y checkpoint ("Waiting for D-Chain (GPU) block"),
     then it is finalized in your wallet.

Rewards, emission and difficulty
--------------------------------
  - Fair launch: genesis supply 0, no premine, no faucet. EDDY is created only by Y checkpoints.
  - 8 decimals (1 EDDY = 100,000,000 units). Reward per checkpoint starts at 149.85005307 EDDY and
    is multiplied by 998335/1000000 every 10,000 checkpoints (smooth decline, half-life ~4 years).
    The total reaches exactly 900,000,000 EDDY at checkpoint 105,217,827 (~ year 100 at one
    checkpoint per 30 s); after that miners earn fees only. Reward split 50/50 E/D (odd unit to E).
  - Difficulty (leading zero bits of SHA-256d): genesis E 28 bits / D 33 bits. Every 10 blocks per
    chain it retargets toward 30 s per block (max +-2 bits per step; clamp E 18..34, D 20..40).
    More miners = higher difficulty.
  - The miners connect ONLY to --server (default https://eddycoin-demo.pages.dev, HTTPS):
    GET /api/work, POST /api/submit/e|d, GET /api/wallet. Limits: 30 block submissions/min per IP.
  - --offline keeps the old behaviour: no network, writes a results JSON for /demo or the verifier.

How to secure your wallet
-------------------------
  - Set a strong password (12+ characters). It CANNOT be recovered - nobody can reset it.
  - Keep TWO backups of the wallet file (e.g. your PC + a USB stick).
  - Never share the wallet file or the password. Share only the address (eddy1...).
  - A lost file means lost coins. Delete *.unencrypted-backup.json and key exports once you have
    a safe encrypted copy.
  - Testnet only: EDDY has no value and is not real money.

Heat / safety
-------------
  - Mining puts the CPU/GPU at (near) 100 % load: fans get loud and temperatures rise. Watch them
    (Task Manager > Performance, or the GPU vendor tool). STOP (or Ctrl+C) stops at any time.
  - Use --intensity 50 (or the Intensity slider) on laptops or small cases.
  - Close games / 3D apps while the GPU miner runs; lower --batch if the display stutters.
  - Nothing is installed as a service; nothing keeps running after the window closes.
