ZCU Yiimp Pool is a highly customized YiiMP-based Scrypt mining pool source release designed for Litecoin-family merged-mining environments and Zero Chill Units / ZCU integration.
This source tree includes the Yiimp web application, backend scripts, database schema files, stratum source code, service references, and pool-side integration logic required to operate a customized Scrypt mining pool stack.
The pool is designed around a specialized merged-mining model involving Litecoin, Dogecoin, Texitcoin, Iskander, and Zero Chill Units. It includes custom handling for Scrypt mining, AuxPoW child-chain workflows, MWEB-aware Litecoin-era pool operation, DOGE payout workflow preservation, and ZCU's custom EVM-compatible AuxPoW integration.
ZCU is an EVM ecosystem coin with Ethereum-style accounts and execution semantics, but it is integrated into a Litecoin/Scrypt-style mining environment. This makes the pool stack different from a standard Yiimp deployment: ZCU requires custom RPC handling, custom AuxPoW submission flow, and careful coordination between the pool, stratum, wallet/daemon RPC, and backend accounting logic.
This repository contains a customized Yiimp pool stack for Scrypt mining and merged-mining operation.
The source is intended for pool operators who need a Yiimp-based stack that can work with:
- Litecoin-family Scrypt mining
- Litecoin MWEB-era node environments
- Dogecoin AuxPoW / merged-mining workflows
- Texitcoin / TXC merged-mining support
- Iskander / ISK merged-mining support
- Zero Chill Units / ZCU custom AuxPoW integration
- Yiimp web frontend and backend accounting logic
- Stratum-based miner connectivity
- Database-backed coin, worker, share, block, earnings, payout, and market/accounting state
This is not a plain upstream Yiimp tree. It is a customized pool source release with coin-specific backend behavior, stratum changes, payout workflow considerations, and ZCU-specific merged-mining integration.
This source release includes Yiimp pool support and integration paths for the following coin set:
| Symbol | Full name | Role / Notes |
|---|---|---|
| LTC | Litecoin | Scrypt parent-chain mining and merged-mining parent environment |
| DOGE | Dogecoin | AuxPoW merged-mined coin with payout-cycle integration |
| TXC | Texitcoin | AuxPoW / merged-mining coin |
| ISK | Iskander | AuxPoW / merged-mining coin |
| ZCU | Zero Chill Units | EVM-compatible Scrypt/AuxPoW coin with custom ZCU merged-mining RPC flow |
The pool stack is designed around a custom Scrypt merged-mining environment involving Litecoin, Dogecoin, Texitcoin, Iskander, and Zero Chill Units.
Coin-specific runtime settings are managed through Yiimp database rows, wallet RPC configuration, backend scripts, and stratum logic.
The repository includes:
| Component | Description |
|---|---|
web/ |
Yiimp web frontend and PHP/Yii application |
stratum/ |
Customized Scrypt stratum source code |
sql/ |
Database schema files |
systemd/ |
Service unit examples or service reference files |
cron/ |
Cron reference files or backend job examples |
docs/ |
Supporting project notes |
README.md |
Project documentation |
The pool stack is composed of four major layers:
| Layer | Purpose |
|---|---|
| Web / Yii frontend | Miner dashboard, coin display, wallet/account views, pool statistics, and administrative UI |
| Backend scripts | Share processing, block processing, payout handling, coin state updates, and scheduled pool jobs |
| Database schema | Yiimp coin, worker, share, block, earnings, payout, and market/accounting state |
| Stratum | Miner-facing Scrypt stratum service and merged-mining bridge logic |
The stratum layer serves mining work to miners and coordinates Scrypt share submission with pool-side merged-mining behavior.
The backend and database layers record accepted shares, track coin state, manage block discovery, and coordinate payouts.
The ZCU integration is special because ZCU is not a normal Litecoin-family UTXO coin. It is an EVM-compatible chain that uses Ethereum-style accounts while still participating in a Scrypt/AuxPoW-style mining flow. The pool therefore needs custom handling for ZCU RPC calls and AuxPoW submission behavior.
web/
index.php
run.php
runconsole.php
yaamp/
framework/
extensions/
stratum/
Makefile
*.cpp
*.h
algos/
sql/
*.sql
systemd/
*.service
cron/
*.txt
docs/
SECURITY-NOTES.md
CREDENTIAL-SCAN-NOTES.md
README.md
The web application is under:
web/
The stratum source is under:
stratum/
The database schema files are under:
sql/
A typical Yiimp deployment requires:
- Ubuntu Linux server
- Nginx or Apache
- PHP and required PHP extensions
- MariaDB or MySQL
- Memcached
- Build tools for stratum
- Coin daemon / wallet RPC access
- TLS certificates for public web access
Typical build/runtime packages include:
sudo apt update
sudo apt install -y \
build-essential \
git \
make \
gcc \
g++ \
mariadb-server \
nginx \
memcached \
php \
php-cli \
php-fpm \
php-mysql \
php-curl \
php-mbstring \
php-xml \
php-gd \
php-memcached
Package names may vary by distribution and PHP version.
Database schema files are included under:
sql/
Import the schema into a dedicated Yiimp database before starting the web and backend services.
Example:
ls sql/*.sql
mysql -u root -p -e "CREATE DATABASE yiimpfrontend CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
mysql -u root -p yiimpfrontend < sql/<schema-file>.sql
Use the schema file included in the sql/ directory for the target deployment.
The Yiimp web application is located under:
web/
A typical deployment copies or serves this directory through the web server document root.
Example layout:
/var/web
Recommended ownership depends on the deployment model. For example:
sudo chown -R www-data:www-data /var/web
Configure the web server to serve the Yiimp frontend and route PHP requests to PHP-FPM.
Deployment-specific configuration files should be created on the target server during deployment.
The stratum source is located under:
stratum/
Build from the stratum directory:
cd stratum
make
The expected output is a stratum executable such as:
stratum
The bundled algos/ source is built directly by the stratum Makefile.
Build artifacts should remain outside committed source changes.
A typical stratum runtime layout uses a dedicated directory such as:
/var/stratum
Example deployment:
sudo mkdir -p /var/stratum
sudo cp stratum/stratum /var/stratum/stratum
sudo chmod 755 /var/stratum/stratum
A runtime launch generally includes the stratum binary and an algorithm name such as:
/var/stratum/stratum /var/stratum/scrypt
Production deployments should use a process supervisor such as systemd.
Systemd service examples or reference units may be included under:
systemd/
A deployment can install service files into:
/etc/systemd/system/
Example:
sudo cp systemd/yiimp-main.service /etc/systemd/system/
sudo cp systemd/yiimp-blocks.service /etc/systemd/system/
sudo cp systemd/yiimp-loop2.service /etc/systemd/system/
sudo systemctl daemon-reload
Only enable or start services after configuration, database setup, wallet RPC setup, and deployment review are complete.
Example:
sudo systemctl enable yiimp-main.service
sudo systemctl enable yiimp-blocks.service
sudo systemctl enable yiimp-loop2.service
Start services when ready:
sudo systemctl start yiimp-main.service
sudo systemctl start yiimp-blocks.service
sudo systemctl start yiimp-loop2.service
This pool stack is designed for Scrypt mining environments and Litecoin-family merged-mining infrastructure.
Litecoin is used as the Scrypt parent-chain environment. Dogecoin, Texitcoin, Iskander, and ZCU are handled as merged-mining or AuxPoW-related integrations depending on deployment configuration.
The pool is intended to operate in modern Litecoin node environments, including MWEB-era Litecoin deployments. MWEB support in Litecoin changes node and wallet behavior at the Litecoin ecosystem level, so pool operators should verify Litecoin daemon version, wallet behavior, transaction handling, payout paths, and RPC compatibility before production operation.
At the pool level, the important operational checks are:
- Litecoin daemon is fully synced and RPC-compatible with the pool stack.
- Scrypt work generation and share submission behave correctly.
- Merged-mined child-chain daemons are fully synced.
- AuxPoW child-chain RPC calls are reachable from the pool server.
- Stratum logs show valid work creation and accepted share flow.
- Backend block processing records expected parent and child-chain events.
- Payout workflows are tested with small controlled balances before production payouts.
ZCU / Zero Chill Units is an EVM-compatible chain integrated into a Scrypt mining environment.
This is a non-standard design compared with ordinary Yiimp Scrypt coin integrations. ZCU has Ethereum-style account and EVM behavior, but its mining integration is designed around Scrypt proof-of-work and AuxPoW-style merged-mining submission.
Relevant ZCU mining RPC methods include:
scrypt_createAuxBlock
scrypt_submitAuxBlock
Relevant ZCU AuxPoW commitment markers include:
ZCUAUX1
ZCUAUXCOMMIT
These methods and markers are intended for pool and stratum integration. Ordinary miners and web users do not call these methods directly.
A production ZCU pool deployment should verify:
- ZCU node sync status
- ZCU RPC availability from the pool server
- Correct ZCU chain ID and network selection
- Correct Scrypt/AuxPoW RPC behavior
- Valid AuxPoW payload construction
- Successful AuxPoW submission
- Correct block accounting in Yiimp
- Correct payout/accounting behavior
- Stratum stability under live miner load
Yiimp coin configuration is managed through database coin rows, Yii/PHP backend logic, wallet RPC configuration, and stratum behavior.
The primary supported symbols in this source release are:
LTC
DOGE
TXC
ISK
ZCU
For each coin, verify:
- Full coin name and symbol
- Algorithm
- Parent-chain or child-chain role
- RPC host and RPC port
- RPC authentication method
- Wallet availability
- Confirmation depth
- Block processing behavior
- Payout behavior
- Auto-ready status
- Market/exchange settings, if used
- Backend job scheduling
- Stratum integration path
Coin daemon RPC access should be configured according to the target deployment.
This pool stack includes custom handling for merged-mining-related coin workflows involving Dogecoin, Texitcoin, Iskander, and Zero Chill Units.
Dogecoin integration should be treated carefully because payout-cycle behavior may be deployment-specific. Before modifying DOGE payout logic, preserve the working source and verify behavior through logs, database rows, wallet RPC responses, and controlled payout tests.
TXC and ISK should also be verified through daemon sync state, RPC connectivity, share/block accounting, and backend job behavior before production use.
ZCU requires additional validation because its EVM-compatible design differs from traditional UTXO-style Scrypt coins. ZCU merged-mining integration should be tested through controlled AuxPoW creation/submission checks and stratum log review before live mining.
If DOGE merged-mining payout support is enabled in a deployment, preserve and test the DOGE payout cycle carefully.
Before changing payout logic, verify:
- Existing DOGE payout scripts
- Database payout records
- Cron or service scheduling
- Wallet RPC access
- Dry-run or controlled test behavior
- Logs from the payout cycle
Do not modify payout code without first preserving the current working source and verifying behavior with logs and database evidence.
The source has been checked in a disposable build-test workflow.
The disposable checks covered:
- PHP syntax checks for the web source
- Stratum compilation from the
stratum/directory - Verification that the accepted source directory was not built in place
- Confirmation that critical stratum runtime source files match the production-proven source path
- Confirmation that generated stratum build files are not kept inside the accepted clean source tree
Stratum build command:
cd stratum
make
PHP syntax check example:
find web -type f -name '*.php' -print0 | xargs -0 -n1 php -l
Recommended operating practices:
- Use separate runtime paths for web, stratum, database, and wallet services.
- Use systemd or another supervisor for long-running services.
- Keep logs under controlled paths.
- Monitor disk usage.
- Monitor database growth.
- Monitor wallet sync status.
- Monitor payout jobs.
- Monitor stratum crash/restart behavior.
- Test changes in a disposable copy before applying to production.
- Preserve current working files before making production changes.
For production systems, avoid direct edits without backups and proof of the current state.
Use the applicable upstream and project license terms for this source tree. Review included source headers and license files before distribution.