Pool Setup
Run a mining pool for the ZION TestNet: configuration, Stratum, and monitoring.
Overview
A mining pool aggregates multiple miners to reduce variance in block discovery. As a pool operator, you'll run a Stratum server, validate shares, and distribute rewards proportionally to miners based on their contributed work.
Requirements
- Server: Stable network connection with static IP address
- Hardware: SSD storage, 8–16 GB RAM, multi-core CPU
- Network: Public ports open (typically 3333/tcp for Stratum)
- Software: ZION full node running in sync with the network
- Database: PostgreSQL or MySQL for tracking shares and payouts
Configuration
- Run a full node in testnet mode and ensure it stays synchronized with the network.
- Configure Stratum endpoint (hostname, port, difficulty targeting based on miner hashrate).
- Implement share validation and block submission to your node.
- Set payout scheme (PPLNS, PPS, or PROP) and configure payout intervals.
- Setup database to record miner shares, blocks found, and payouts.
- Configure fees for pool operation (typically 1-3% of block rewards).
# Pool configuration example
POOL_ADDRESS=your_pool_wallet_address
STRATUM_PORT=3333
MIN_DIFF=1000
MAX_DIFF=100000
PAYOUT_THRESHOLD=100.0
PAYOUT_INTERVAL=3600 # seconds
Stratum Protocol
The Stratum mining protocol is the standard for communication between mining pools and miners. ZION uses a Stratum-compatible implementation with these key methods:
mining.subscribe- Miner subscribes to poolmining.authorize- Miner authentication with wallet addressmining.set_difficulty- Pool sets difficulty target for minermining.notify- Pool sends new work to minersmining.submit- Miner submits share to pool
Protocol details are evolving on testnet. Start with standard Stratum semantics and adapt to testnet updates. Check the repository for announcements.
Monitoring
Essential metrics to track for pool health and miner satisfaction:
- Pool hashrate - Total combined hashrate of all miners
- Active miners - Number of currently connected miners
- Shares submitted - Valid/invalid share ratio
- Blocks found - Total blocks discovered by the pool
- Orphan rate - Percentage of blocks that became orphaned
- Payout statistics - Total paid out and pending payments
- Network difficulty - Current network difficulty trend
Set up alerts for:
- High reject rates (>5% invalid shares)
- Node synchronization issues
- Stale connections and disconnected miners
- Low pool hashrate or unusual drops
Publish a simple pool status page showing real-time stats, recent blocks, and payout information for transparency.