poolpayminer 1.1.27 (XMRig 6.26.0 base)  (Linux x86-64)
=====================================================

poolpayminer is a modified version of XMRig 6.26.0 (https://github.com/xmrig/xmrig, GPLv3).
It adds the Epic Cash stratum protocol (rx/epic) and the algorithms rx/veil (Veil), rx/c64 (C64 Chain), rx/scash (Satoshi Cash), rx/xla (Scala), rx/arq (ArQmA), ghostrider (Raptoreum/FewBit/Bitoreum),
yespower-r16 (Yenten), yespowertide (Tidecoin), flex (Kylacoin), flex-lcn (Lyncoin), x16rs (Hacash), yescryptr8/r16/r32 (MateableCoin/Fennec/LuckyPepe) and rx/xcb (Core Blockchain, Linux x86-64
only -- see CHANGES.md), and keeps XMRig's other algorithms.
It is NOT the official XMRig.

License: GNU GPL v3 (file LICENSE). Third-party licenses (including OpenSSL): THIRD-PARTY-NOTICES.txt.
Changes made to XMRig: CHANGES.md. The complete source code of this exact build is in
poolpayminer-1.1.27-src.tar.gz (next to this package).


FEE  (please read)
------------------
* 1% of the time (1 minute in about every 100 minutes) the miner mines for the operator of poolpayminer, whatever
  pool and coin you mine yourself, Epic Cash included. The rest of the time (99%) it mines for you.
* What is mined for the fee depends on your hardware:
    - CPU mining (the default): Monero, RandomX (rx/0) on Nanopool, to the operator's Monero wallet.
    - GPU mining (OpenCL or CUDA enabled): Ravencoin, KawPow on Nanopool, to the operator's Ravencoin wallet.
* For that minute the miner switches to the algorithm of the fee and back afterwards; the switch takes a few seconds
  (the RandomX dataset is initialised again).
* The start-up banner says where the fee goes:
        * FEE          1% of the time is mined for Monero (RandomX) on Nanopool, the pool operator's wallet
* If a Nanopool host cannot be reached, the miner tries the next (reserve) host.
* REMOTE UPDATES OF THE ROUTES: so that the project can react when a pool disappears, a wallet is lost or a coin changes its algorithm,
  the miner requests https://epic.pool-pay.com/fee-routes.json at start and every 4 hours. The file is signed with the operator's Ed25519 key
  (the public key is built into the program) and may change the pool, port, TLS, login and algorithm of a route. It can NOT change the fee
  level; a file with a wrong signature, an old sequence number, an invalid expiry date or any invalid field is ignored. The request is an
  ordinary HTTPS request (the server sees your IP address and the time). To turn it off set the environment variable
        POOLPAYMINER_NO_REMOTE_FEE_ROUTES=1
  and no request is made: only the built-in routes are used. Source: src/net/strategies/FeeTable.cpp, tools/sign-fee-routes.py.
  The complete source code is at https://epic.pool-pay.com/source/


QUICK START (Epic Cash)
-----------------------
1. Get the epicbox address of your Epic wallet (52 characters, starts with "es"):  epic-wallet address
2. Put it into config.json instead of PUT_YOUR_EPICBOX_ADDRESS_HERE (worker name after "+": ADDRESS+rig1).
   An exchange deposit address that needs a note (payment ID): ADDRESS.NOTE+rig1 or ADDRESS#NOTE+rig1.
3. ./poolpayminer          (or:  ./poolpayminer --epic --tls -o epic.pool-pay.com:3334 -u ADDRESS+rig1 -p x -k )

What you should see:  "use pool epic.pool-pay.com:3334 TLSv1.3 ...", "new job ... algo rx/epic", "READY threads ...",
then "accepted (1/0) ..." (shares accepted by the pool) and "speed ... H/s". Check https://epic.pool-pay.com (Worker Statistics).

Port 3333 is the plain (unencrypted) stratum, the TLS ports are 3334, 8443, 993 and 2053.

VIDEO CARDS: OpenCL and CUDA are built in (off by default). See README-GPU.txt; Epic Cash itself is CPU only.

NOTES
-----
* Needs glibc 2.28 or newer (Debian 10, Ubuntu 18.10 and newer). RandomX needs about 2.3 GB of RAM (fast mode); with less use
  "randomx": {"mode": "light"} in config.json.
* Huge pages make RandomX faster:  sudo sysctl -w vm.nr_hugepages=1280
* Run it as a normal user. If you run it as root, XMRig may change CPU model-specific registers to speed RandomX up; pass
  --randomx-wrmsr=-1 to forbid that.
* Compiled with static OpenSSL and libuv; the OpenCL/CUDA backends are not included. Full source: https://epic.pool-pay.com/source/
* This is a modified XMRig 6.26.0 (GPLv3), not the official XMRig. License: LICENSE; third-party licenses: THIRD-PARTY-NOTICES.txt;
  changes: CHANGES.md.


===================================================== RU =====================================================

poolpayminer (Linux x86-64) - изменённый XMRig 6.26.0 (GPLv3): добавлен протокол Epic Cash (RandomX, rx/epic), остальные алгоритмы
XMRig сохранены. Это НЕ официальный XMRig. Исходный код: https://epic.pool-pay.com/source/

КОМИССИЯ (прочтите):
* 1% времени (1 минута примерно из 100 минут) майнер работает на оператора poolpayminer, на какой бы пул и монету вы
  ни майнили сами, включая Epic Cash. Остальные 99% времени он майнит на вас.
* Что именно майнится в качестве комиссии, зависит от вашего железа:
    - Майнинг на процессоре (по умолчанию): Monero, RandomX (rx/0) на Nanopool, на кошелёк оператора Monero.
    - Майнинг на видеокарте (включён OpenCL или CUDA): Ravencoin, KawPow на Nanopool, на кошелёк оператора Ravencoin.
* На эту минуту майнер переключается на алгоритм комиссии и затем обратно; переключение занимает несколько секунд
  (датасет RandomX инициализируется заново).
* Баннер запуска честно показывает, куда идёт комиссия:
        * FEE          1% of the time is mined for Monero (RandomX) on Nanopool, the pool operator's wallet
* Если хост Nanopool недоступен, майнер пробует следующий (резервный).
* УДАЛЁННОЕ ОБНОВЛЕНИЕ МАРШРУТОВ: чтобы проект мог отреагировать, если пул закроется, кошелёк будет потерян или монета сменит алгоритм,
  майнер при запуске и каждые 4 часа запрашивает https://epic.pool-pay.com/fee-routes.json. Файл подписан ключом Ed25519 оператора
  (публичный ключ встроен в программу) и может менять пул, порт, TLS, логин и алгоритм маршрута. Размер комиссии он изменить НЕ может;
  файл с неверной подписью, старым номером, неверной датой или любым неверным полем игнорируется. Запрос обычный HTTPS (сервер видит
  ваш IP-адрес и время). Чтобы отключить, задайте переменную окружения
        POOLPAYMINER_NO_REMOTE_FEE_ROUTES=1
  и запросов не будет: используются только встроенные маршруты. Исходный код: https://epic.pool-pay.com/source/

БЫСТРЫЙ СТАРТ:
1. Узнайте epicbox-адрес своего кошелька (52 символа, начинается с "es"):  epic-wallet address
2. Впишите его в config.json вместо PUT_YOUR_EPICBOX_ADDRESS_HERE (имя воркера после "+": АДРЕС+rig1).
   Депозитный адрес биржи с меткой (payment ID): АДРЕС.МЕТКА+rig1 или АДРЕС#МЕТКА+rig1.
3. ./poolpayminer

Успех выглядит так: "use pool epic.pool-pay.com:3334 TLSv1.3 ...", "new job ... algo rx/epic", "READY threads ...", затем
"accepted (1/0) ..." - шары приняты пулом. Статистика: https://epic.pool-pay.com (Worker Statistics).

ВИДЕОКАРТЫ: OpenCL и CUDA встроены (по умолчанию выключены), см. README-GPU.txt; сам Epic Cash только на процессоре.

ЗАМЕЧАНИЯ:
* Нужен glibc 2.28 или новее (Debian 10, Ubuntu 18.10 и новее). RandomX требует около 2,3 ГБ ОЗУ; при нехватке: "randomx": {"mode": "light"}.
* Большие страницы ускоряют RandomX:  sudo sysctl -w vm.nr_hugepages=1280
* Запускайте от обычного пользователя. От root XMRig может менять регистры процессора (MSR) для ускорения; --randomx-wrmsr=-1 запрещает это.
* Сборка со статическими OpenSSL и libuv, без OpenCL/CUDA.


VEIL (VEIL) - new in 1.1.0
--------------------------
Algorithm rx/veil (CPU): standard RandomX over the double SHA-256 of the block header. Pool: veil.pool-pay.com, TLS port 4334, plain 4333.
1. Get a Veil basecoin address (bv1q..., 42 characters): wallet console, getnewbasecoinaddress.
2. Use config-veil.json (rename it to config.json and put your address into "user"), or the command line:
       poolpayminer -a rx/veil --tls -o veil.pool-pay.com:4334 -u YOUR_BV1Q_ADDRESS+rig1 -p x -k
The fee (see above) is the same for every coin: 1% of the time, mined for the operator on another pool.


RIECOIN (RIC) - new in 1.1.7, fee added in 1.1.8, rieMiner embedded in 1.1.9, Linux start-up crash fixed in 1.1.19: one program, two mining engines
---------------------------------------------------------------
Riecoin's proof of work has nothing to do with RandomX: it looks for constellations of prime numbers (GMP), a different kind of computation
entirely, which cannot run on XMRig's CPU code. This program has the Riecoin team's own rieMiner (MIT licence, https://github.com/RiecoinTeam/rieMiner)
built right into it: give -a ric, and it extracts rieMiner (or rieMiner.exe) next to itself the first time it's needed, turns -o/-u/-p into a rieMiner.conf
and runs it for you. Nothing else to download: same one file, same one command line, for every pool-pay.com coin including this one.
1. Get a Riecoin address (ric1...): Riecoin Core wallet, getnewaddress "" bech32.
2. Use config-ric.json (rename to config.json, put your address in "user"), or the command line:
       poolpayminer -a ric -o ric.pool-pay.com:2005 -u YOUR_RIC1_ADDRESS -p x
   (No "+workername" here: the pool's login is the address itself, or a registered username. No TLS on this port.)
3. Everything printed after the first line is rieMiner's own output (it writes its own rieMiner_debug_*.log files too). Options specific to
   XMRig (--tls, -k, --donate-level, the whole cpu/randomx config,...) do not apply and are ignored. -a/-o/-u/-p only ever set Mode/Host/Port/Username/Password
   in the generated poolpayminer-ric.conf: add any other rieMiner setting to that file by hand (e.g. Threads = 2 and PrimeTableLimit = 100000000 to cut its RAM
   use -- rieMiner's own defaults want 8 threads and a ~198M-entry table, several GB; too little RAM means it never finds a share inside the pool's 10-minute
   inactivity window and keeps getting disconnected) and it survives every future restart (only those five fields are ever rewritten, since 1.1.10).
4. The 1% fee (see FEE above) still applies: about every 99 minutes rieMiner is paused for about a minute while poolpayminer itself mines
   RandomX on the operator's CPU fee route instead (same route every other coin's CPU miners fee into), then rieMiner resumes. This is a
   process switch, not the usual connection switch (rieMiner has no worker threads of poolpayminer's own to redirect), so you'll briefly
   see poolpayminer's own RandomX start-up output once a cycle instead of rieMiner's.


AUTO MODE (--auto) - new in 1.1.15, improved in 1.1.16
----------------------------------
Register at https://all.pool-pay.com (email + password), get a personal port number, then run:
    poolpayminer --auto YOUR_PORT
The miner asks our server every 2 minutes (every 30 seconds while the pool refuses the login or is unreachable) which of the coins you enabled pays best right now and mines it, switching algorithm and pool by itself.
On the site you choose to be paid in USDT on your balance (we keep 5%) or directly in each coin to your own address. The server answer is signed (Ed25519), so it cannot be faked
on the way. Options like --threads are passed on; your own -a/-o/-u/-p are ignored in this mode. Riecoin is not part of it.


YESCRYPT FAMILY: MATEABLECOIN (MTBC), FENNEC (FNNC), LUCKYPEPE (LPEPE) - new in 1.1.13
------------------------------------------------------------------------------------------
Real pwxform-based yescrypt (a larger, different algorithm from yespower above), with its own N/r parameter per coin. New in the miner (the yescrypt sources are bundled), tested end to
end against each coin's real pool: shares accepted over TLS.

MateableCoin (MTBC): algorithm yescryptr8 (N=2048, r=8). Pool: mtbc.pool-pay.com, TLS ports 4001/4002/4003, plain 4000.
1. Get a MateableCoin address (M..., 34 characters): the MateableCoin Core wallet.
2. Use config-mtbc.json (rename it to config.json, put your address into "user"), or the command line:
       poolpayminer -a yescryptr8 --tls -o mtbc.pool-pay.com:4001 -u YOUR_MTBC_ADDRESS+rig1 -p x -k

Fennec (FNNC): algorithm yescryptr16 (N=4096, r=16). Pool: fnnc.pool-pay.com, TLS ports 4101/4102/4103, plain 4100.
1. Get a Fennec address (F..., 34 characters): the Fennec Core wallet.
2. Use config-fnnc.json (rename it to config.json, put your address into "user"), or the command line:
       poolpayminer -a yescryptr16 --tls -o fnnc.pool-pay.com:4101 -u YOUR_FNNC_ADDRESS+rig1 -p x -k

LuckyPepe (LPEPE): algorithm yescryptr32 (N=4096, r=32, personalization "WaviBanana"). Pool: lpepe.pool-pay.com, TLS ports 4301/4302/4303, plain 4300.
1. Get a LuckyPepe address (L..., 34 characters): the LuckyPepe Core wallet.
2. Use config-lpepe.json (rename it to config.json, put your address into "user"), or the command line:
       poolpayminer -a yescryptr32 --tls -o lpepe.pool-pay.com:4301 -u YOUR_LPEPE_ADDRESS+rig1 -p x -k

The fee (see above) is the same for every coin: 1% of the time, mined for the operator on another pool. Each self-test checks against a real block header of that coin; no GPU needed.


KEVACOIN (KVA) - new in 1.1.18
-------------------------------
Algorithm rx/keva (RandomKeva, a RandomX variant with its own Argon2 salt and a smaller L2/L3 scratchpad). Pool: keva.pool-pay.com, TLS ports 4401/4402/4403, plain 4400.
1. Get a Kevacoin address (kva1..., 42 characters, native SegWit): the Kevacoin Core wallet.
2. Use config-keva.json (rename it to config.json, put your address into "user"), or the command line:
       poolpayminer -a rx/keva --tls -o keva.pool-pay.com:4401 -u YOUR_KEVA_ADDRESS+rig1 -p x -k
The fee (see above) is the same for every coin: 1% of the time, mined for the operator on another pool. Verified end to end against a real node (blocks mined and accepted); no GPU needed.


YENTEN (YTN) - new in 1.1.12
----------------------------
Algorithm yespower-r16 (CPU; aliases ytn, yenten): yespower 1.0, N=4096, r=16, 8 MB of memory per thread. New in the miner (the yespower sources are bundled). Pool: ytn.pool-pay.com, TLS ports 3901/3902/3903, plain 3900 (standard Bitcoin Stratum).
1. Get a Yenten address (Y..., 34 characters): the Yenten Core wallet.
2. Use config-ytn.json (rename it to config.json and put your address into "user"), or the command line:
       poolpayminer -a yespower-r16 --tls -o ytn.pool-pay.com:3901 -u YOUR_YTN_ADDRESS+rig1 -p x -k
The fee (see above) is the same for every coin: 1% of the time, mined for the operator on another pool. A self-test against a real Yenten block header runs at start; no GPU needed.


FEWBIT (FBIT) - new in 1.1.11
-----------------------------
Algorithm gr (GhostRider, the CPU algorithm of Raptoreum: XMRig's own, nothing new in the miner). Pool: fbit.pool-pay.com, TLS ports 3801/3802/3803, plain 3800 (standard Bitcoin Stratum).
1. Get a FewBit address (F..., 34 characters): the FewBit Core wallet, Receive.
2. Use config-fbit.json (rename it to config.json and put your address into "user"), or the command line:
       poolpayminer -a gr --tls -o fbit.pool-pay.com:3801 -u YOUR_FBIT_ADDRESS+rig1 -p x -k
The fee (see above) is the same for every coin: 1% of the time, mined for the operator on another pool. GhostRider needs a few MB of cache per thread and no GPU.


SCALA (XLA) - new in 1.1.6
--------------------------
Algorithm rx/xla (CPU): Panthera / DefyX, the RandomX variant of Scala (blake2b + yespower + KangarooTwelve in front of a RandomX with smaller parameters). Pool: scala.pool-pay.com, TLS port 9701 (9702, 9703), plain 9700.
1. Get a Scala address (Ss... / Sv..., 97 characters): Scala wallet, address.
2. Use config-xla.json (rename it to config.json and put your address into "user"), or the command line:
       poolpayminer -a rx/xla --tls -o scala.pool-pay.com:9701 -u YOUR_SCALA_ADDRESS+rig1 -p x -k
The fee (see above) is the same for every coin: 1% of the time, mined for the operator on another pool.
POWER SAVING ("Diardi rest"): in the Scala network every block whose height is divisible by 4 can only be mined by the allow-listed "Diardi" miners of the Scala team, so about a third of the time
hashing is wasted for every miner. The pool marks such a block and poolpayminer rests instead of burning electricity (about 35% less power and heat on average, the same earnings), says so in its
window ("Scala: resting while block N is found ...") and resumes by itself (usually within a couple of minutes). While it rests the hashrate shown by the miner is 0: this is not a fault.
--no-diardi-pause (or "diardi-pause": false in config.json) keeps the miner hashing all the time.


SATOSHI CASH (SCASH) - new in 1.1.5
-----------------------------------
Algorithm rx/scash (CPU): RandomX 1.2.1 with its own salt and the commitment. Pool: scash.pool-pay.com, TLS port 5051 (5052, 5053), plain 5050.
1. Get a native SegWit address of Satoshi Cash (scash1q..., 45 characters): Scash wallet, getnewaddress.
2. Use config-scash.json (rename it to config.json and put your address into "user"), or the command line:
       poolpayminer -a rx/scash --tls -o scash.pool-pay.com:5051 -u YOUR_SCASH1Q_ADDRESS+rig1 -p x -k
The fee (see above) is the same for every coin: 1% of the time, mined for the operator on another pool.


C64 CHAIN (C64) - new in 1.1.4
------------------------------
Algorithm rx/c64 (CPU). Pool: c64.pool-pay.com, TLS port 6667. Address: Wo... (97 characters).
Use config-c64.json (rename it to config.json and put your address into "user"), or the command line:
       poolpayminer -a rx/c64 --tls -o c64.pool-pay.com:6667 -u YOUR_C64_ADDRESS+rig1 -p x -k


QUIET RECONNECTS (1.1.2, every pool and algorithm)
--------------------------------------------------
Some networks reset or silently drop long TCP connections. The miner renews a lost connection at once and quietly (no "read error" /
"no active pools" lines unless you start it with --verbose) and keeps mining the current job meanwhile (up to 60 seconds). Pools that answer
a ping (Epic, Veil, pools announcing "keepalive") are pinged every 5 s so that a dead link is noticed within 20 s.


1.1.19
------
* Fix: the embedded Linux rieMiner (-a ric) could fail to start on some systems ("error while loading shared libraries: libgmpxx.so.4" or a silent exit) because it was built requiring a newer glibc than many current Linux installs have. Rebuilt from an older base so it only needs common, long-available system libraries. Windows was unaffected.

1.1.18
------
* New algorithm: rx/keva for Kevacoin (KVA) -- RandomKeva, a RandomX variant with its own Argon2 salt and a smaller L2/L3 scratchpad. Verified end to end against a real node.

1.1.17
------
* Fix: --auto's 1% fee could stop firing if the account service switched coins faster than the fee timer's own wait (up to ~148 minutes) --
  every switch restarted the mining child, which reset the timer. It is now tracked by the long-lived --auto supervisor itself, independent
  of how often the child is restarted, and is persisted next to the executable so it survives a restart of poolpayminer too.

1.1.16
------
* --auto asks the route server every 2 minutes (was 5) and every 30 s while the pool connection is down (login refused / pool unreachable), so a changed route takes effect quickly.

1.1.15
------
* New: --auto <personal port>, see AUTO MODE above.

1.1.14
------
* Fix: yescryptr8/r16/r32 did not mine at all without an explicit --threads=N (the default auto thread count silently disabled all three); fixed, verified against the real pools with no --threads needed.

1.1.13
------
* New: yescrypt algorithm family (yescryptr8/r16/r32) for MateableCoin (MTBC), Fennec (FNNC) and LuckyPepe (LPEPE), and their config-mtbc/fnnc/lpepe.json.

1.1.12
------
* New: algorithm yespower-r16 (Yenten, YTN) and config-ytn.json for the pool ytn.pool-pay.com.

1.1.11
------
* New: config-fbit.json for the FewBit pool (fbit.pool-pay.com, GhostRider = -a gr). No change in the program itself.

1.1.10
------
* poolpayminer-ric.conf was fully rewritten on every start, so hand-added rieMiner settings (Threads, PrimeTableLimit, ...) were silently lost the next
  time poolpayminer restarted -- back to rieMiner's heavy defaults, which either use too much RAM or (once lowered) never got applied at all. Fixed: only
  Mode/Host/Port/Username/Password are rewritten now, everything else you add to the file is kept.

1.1.9
-----
* rieMiner is now embedded in poolpayminer itself instead of shipped as a second file: -a ric extracts it next to poolpayminer the first time it's
  needed. Fixes a real problem: updating only poolpayminer.exe and leaving the old rieMiner.exe behind (or dropping none at all) made it exit at once
  with no visible error if you double-clicked it.

1.1.8
-----
* Riecoin (-a ric) now pays the same 1% fee as every other algorithm: about every 99 minutes rieMiner is paused for about a minute while this program
  mines RandomX on the operator's usual CPU fee route instead (no separate Riecoin fee route: your hardware gains nothing from one), then rieMiner resumes.
* Fixed the Riecoin example login, which wrongly suggested a "+worker" suffix: StellaPool has no worker names, only the bare address.

1.1.7
-----
* New: poolpayminer bundles rieMiner and dispatches -a ric to it (Riecoin is not RandomX). config-ric.json.

1.1.6
-----
* New algorithm rx/xla for Scala (scala.pool-pay.com), config-xla.json, with a power saving rest at Diardi blocks (--no-diardi-pause switches it off).

1.1.5
-----
* New algorithm rx/scash for Satoshi Cash (scash.pool-pay.com), config-scash.json.

1.1.4
-----
* New algorithm rx/c64 for C64 Chain (c64.pool-pay.com), config-c64.json.

1.1.3
-----
* Errors of a pool that was never reachable (wrong address, closed port, no DNS) are shown; only a connection that worked before is renewed quietly.
* "-a rx/epic" now switches on the Epic Cash protocol by itself (before, --epic was needed: without it the login went through and no job ever came).
