Simple gridcoin pool with automated payments. Can work on Raspberry Pi 2 or 3.
- PHP 5 with openssl lib or PHP 7
- Apache web server, mysql, tested in ubuntu
- At least 10000 gridcoins for staking (more GRC means faster stakes)
- Gridcoin Research client
- Optionally crypt_prog from BOINC for signing urls
- If you want more security: second computer for storing staking wallet outside of web server
- Copy files to folder, e.g. /var/www/boinc_pool/
- Set web access to /var/www/boinc_pool/web
- Run setup via setup.php
- Follow instructions
- Register at every whitelisted BOINC project with one login and password.
- You name in World Community Grid should be same as your email
- Copy every weak auth key to DB table boincmgr_projects (besause world community grid sends incorrect weak key via XML RPC)
- Yoyo@home has no weak auth key. You can use full access key for private pool
- Copy files to folder, e.g. /var/www/boinc_pool/
- Set web access to /var/www/boinc_pool/web
- Create DB and DB user for pool
- Run manual.sql in pool's DB
- Set cron 1h to update_projects_data.php, update_blocks.php and send_rewards.php
- Change settings in your settings.php
- Register new user via web, then change his status to "admin" in boincmgs_users
# Updace currency rates
20 * * * * www-data cd /var/www/boinc_pool/tasks && php update_rates_coingecko.php
# Update data from projects (user contribution, RAC, tasks, etc)
5 * * * * www-data cd /var/www/boinc_pool/tasks && php update_projects.php
# Update gridcoin superblock data
4 * * * * www-data cd /var/www/boinc_pool/tasks && php update_superblock_data.php
# Cache graphs
25 * * * * www-data cd /var/www/boinc_pool/tasks && php update_graphs.php
# Update task statuses and send emails on errors
0 12 * * * www-data cd /var/www/boinc_pool/tasks && php update_task_stats.php
# Update user reward
*/10 * * * * www-data cd /var/www/boinc_pool/tasks && php update_rewards.php
# Move user rewards to payments
30 10 * * * www-data cd /var/www/boinc_pool/tasks && php do_billing_unsent.php
# Send user rewards
25,55 * * * * www-data cd /var/www/boinc_pool/tasks && php send_rewards_grc.php
# Send faucet rewards
*/5 * * * * www-data cd /var/www/boinc_pool/tasks && php faucet_send_rewards.php
- Run gridcoinresearchd in CLI mode with RPC:
rpcuser=username
rpcpassword=password1
rpcallowip=127.0.0.1/255.255.255.255
rpcport=port
- Run BOINC, attach to any whitelisted project, run gridcoinresearch for staking (you could use different PC or server for that), send beacon, wait for rewards
- Check that your cpid are synced (you coud see that in project control page)
- Register in pool
- Sync your BOINC client with pool and your username/password
- Attach projects and sync one more time
- After 1 day check that your host appears in BOINC hosts
- Wait for pool stake, then do billing and receive rewards
You can read about pool here
You can see reward payouts here.
You can see project BOINC stats here.
You can login here.
You can register here.
You can leave feedback here, these messages could be read by administrator.
You can change payout address, password and email here. Password is requred to change something.
You can see hosts, attached to your account, attach and detach projects, delete hosts, see syncronization status..
You can see your BOINC stats here.
You can set statuses for projects:
- Enabled - get data from project, rewards enabled, available to attach for users
- Stats only - get data from project, no rewarding, unavailable for attach
- Disabled - don't get data from project, no rewarding, unavailable for attach
- User - ordinary user
- Admin - can change user statuses, project statuses, do manual billings
- Banned - user can not login
- Donator - all user reward distributed between others (like negative fee), could be used for promotion, if you distribute your coins between users.
If you want to distribute some coins (or other coins, e.g. SPARC) between users according to their contribution you can do it with that instrument.
In log section you can view what happening with pool, users, projects, syncs, actions:
- User actions - registering, attaching, detaching, deleting, syncing
- Project syncing
- Errors - login errors, SQL errors and other
Samples:
1) Projects to sync 21, synced 18, errors: Cosmology@Home (no data from project), latinsquares (get project config error), SETI@home (get project config error)
2) Sync username 'sau412' host 'DESKTOP-A8D9DJF' p_model 'Intel(R) Xeon(R) CPU E5420 @ 2.50GHz [Family 6 Model 23 Stepping 10]'
3) Login username 'Arikado'
4) Query error: SELECT `uid`,`name` FROM `boincmgr_projects` WHERE `status` IN ('enabled') AND `uid` NOT IN ( SELECT bap.`project_uid` FROM `boincmgr_hosts` h LEFT JOIN `boincmgr_attach_projects` bap ON bap.`host_uid`=h.`uid` WHERE `host_uid`='116' AND bap.detach=0 ) ORDER BY `name` ASC
5) Admin check rewards from '2018-05-27 07:16:21' to '2018-05-30 15:48:12' reward '10.0000'
You can change pool info here. Any HTML or scripting allowed.
You can read feedback messages here.
You can see pool email texts and statuses here.
You can set $debug_mode=TRUE in settings.php, and XML between users and XML between projects will be written to table boincmgr_xml.
In gridcoin you receive rewards for BOINC projects when your coins stake. You need about 2000 gridcoins to stake at least once a 6 months (payout horizont). So, if you haven't much coins, you can use one of pools to receive rewards. Each whitelisted project rewarded equally, as I know. Rewards distributed between members of Gridcoin team in BOINC in accordance with contribution. When reward received (and admin clicks 'send rewards' button), rewards distributed between all projects using pool proportion (see Pool stats page). Each project reward distributed between contributors in accordance with contribution.
- Billing works in automatic mode. After billing rewards send automatically.
- If you want, you can distribute coins with "billing" interface. Fill start and stop dates to calculate contribution, reward amount and click "send rewards".
2018-08-09 php 5 checked, automated setup, emails, night mode, two level menu, quick RAC 2018-06-07 Estimated GRC/day, view last sync log (for admin), 'project not whitelisted, no rewards' status for project
- Option for distribute coins equally between users (for rains or faucets)
- Comments to host, user, project