[BOUNTY] Mining Pool Proxy — Let Small Miners Combine Power (50 RTC)#262
[BOUNTY] Mining Pool Proxy — Let Small Miners Combine Power (50 RTC)#262zhanglinqian wants to merge 3 commits intoScottcjn:mainfrom
Conversation
- Add /api/badge/<wallet> endpoint for shields.io-compatible badge - Returns JSON with balance, epoch, and mining status (active/inactive) - Add GitHub Action workflow for badge updates - Add test script for badge endpoint Closes Scottcjn#256
- Add Dockerfile for RustChain node with gunicorn - Add docker-compose.yml with nginx + SSL setup - Add nginx configuration with reverse proxy and security headers - Add SSL certificate generation script (self-signed + Let's Encrypt) - Add .env.example with configuration options - Add DOCKER_DEPLOYMENT.md with comprehensive documentation - Add test-docker.sh for deployment validation - Volume persistence for SQLite database - Health checks and auto-restart for all services - Single command deployment: docker-compose up -d Closes Scottcjn#20
- Add pool_proxy.py main server with Flask - Accepts attestations from multiple miners - Tracks miner contributions (uptime, hardware score) - Calculates contribution weights based on vintage hardware - SQLite database for persistence - Built-in web dashboard with statistics - API endpoints for stats, miners, and rewards - Hardware score multipliers (PowerPC, 68K, SPARC, etc.) - Contribution weight calculation (hardware × uptime × attestations) - Configurable pool fee (default 1%) - Test script for validation - Comprehensive documentation Closes Scottcjn#258
liu971227-sys
left a comment
There was a problem hiding this comment.
Blocking review:
- Scope mismatch for this bounty PR
- PR claims mining pool proxy (#258), but diff also includes Docker deployment, nginx configs, badge workflow, and node integration changes.
- This mixes unrelated deliverables and makes acceptance/payout mapping ambiguous.
- Operational blast radius is too broad for one merge unit
- Runtime, infra, and feature code are bundled together, which raises rollback and incident risk.
Please split into focused PRs. For this bounty PR, keep only pool-proxy files (pool_proxy.py, tests/docs, and strictly required wiring).
I can re-review quickly after split.
|
Thanks for the submission! Important design concern: RustChain avoids traditional mining pools. Our PoA consensus is 1 CPU = 1 Vote with hardware fingerprinting. Pools create Sybil risk. We would consider an affiliation/guild model instead — miners stay individually attested but share visibility/stats. No single operator controls multiple hardware identities. If you want to rework toward that model, we are interested! |
|
Closing — mining pools fundamentally conflict with RustChain's 1 CPU = 1 Vote design. Pools create centralization and Sybil risk. See new bounty for coalitions instead — a governance model where agents form voting blocs while keeping individual hardware identity. Thanks for the effort! |
Closes #258
🦞 Mining Pool Proxy for RustChain
Aggregates attestations from multiple miners and distributes rewards proportionally.
🎯 Problem Solved
Individual miners with weak hardware earn tiny rewards. The pool proxy:
🚀 Quick Start
✅ Requirements Met
✅ Pool proxy server (standalone Python script)
✅ Accepts attestations from multiple miners
✅ Submits combined attestation to RustChain node
✅ Tracks each miner's contribution (uptime, hardware score)
✅ Distributes epoch rewards proportionally
✅ Pool dashboard (simple web UI)
✅ Connected miners list
✅ Per-miner stats (uptime %, contribution weight)
✅ Total pool rewards
✅ Payout history
📊 Features
📦 Files Added
pool_proxy.py- Main pool server (650+ lines)requirements-pool.txt- Python dependenciesPOOL_PROXY_README.md- Documentationtest_pool_proxy.py- Test suiteReady for testing!