All Projects → sau412 → arikado_gridcoin_pool

sau412 / arikado_gridcoin_pool

Licence: GPL-3.0 license
Simple gridcoin pool

Programming Languages

PHP
23972 projects - #3 most used programming language
HTML
75241 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to arikado gridcoin pool

open-grin-pool
Open-sourcing pool for grin. Easy to depoly and keep KISS in design. Avaliable to epic (epicash, a grin forkcoin) too.
Stars: ✭ 19 (-5%)
Mutual labels:  pool
goroutine-pool
A simple goroutine pool which can create and release goroutine dynamically, inspired by fasthttp.
Stars: ✭ 31 (+55%)
Mutual labels:  pool
SimpleObjectPool
Simple thread-safe object pool in Objective-C
Stars: ✭ 13 (-35%)
Mutual labels:  pool
parallelizer
Simplifies the parallelization of function calls.
Stars: ✭ 62 (+210%)
Mutual labels:  pool
billiards
billiards physics
Stars: ✭ 37 (+85%)
Mutual labels:  pool
pool
Go library that wraps http.Client to provide seamless higher-level connection pooling features
Stars: ✭ 39 (+95%)
Mutual labels:  pool
p2pool
Decentralized pool for Monero mining
Stars: ✭ 635 (+3075%)
Mutual labels:  pool
boinc-server-docker
A Docker multi-container application that runs a BOINC server
Stars: ✭ 104 (+420%)
Mutual labels:  boinc
node-screenlogic
Pentair ScreenLogic Javascript library using Node.JS
Stars: ✭ 38 (+90%)
Mutual labels:  pool
ethersocial-pool
Open EthersocialNetwork Mining Pool based off the sammy007's open-ethereum-pool
Stars: ✭ 19 (-5%)
Mutual labels:  pool
pool
A generic C memory pool
Stars: ✭ 81 (+305%)
Mutual labels:  pool
mysql-connection-pool-manager
This is a mySQL Connection Pool Manager wrapper powered by mysqljs/mysql and allows for intelligent management & load balancing mysql connection pools.
Stars: ✭ 15 (-25%)
Mutual labels:  pool
good-karma-kit
😇 A Docker Compose bundle to run on servers with spare CPU, RAM, disk, and bandwidth to help the world. Includes Tor, ArchiveWarrior, BOINC, and more...
Stars: ✭ 238 (+1090%)
Mutual labels:  boinc
XAsyncSockets
XAsyncSockets is an efficient Python/MicroPython library of managed asynchronous sockets.
Stars: ✭ 28 (+40%)
Mutual labels:  pool
agroal
The natural database connection pool
Stars: ✭ 92 (+360%)
Mutual labels:  pool
pool-reference
Reference python implementation of Chia pool operations for pool operators
Stars: ✭ 452 (+2160%)
Mutual labels:  pool
node-redis-connection-pool
A node.js connection manager for Redis
Stars: ✭ 52 (+160%)
Mutual labels:  pool
HiFramework.Unity
Based on component to manage project's core logic and module used in unity3d
Stars: ✭ 22 (+10%)
Mutual labels:  pool
dotnet-design-patterns-samples
The samples of .NET design patterns
Stars: ✭ 25 (+25%)
Mutual labels:  pool
gohive
🐝 A Highly Performant and easy to use goroutine pool for Go
Stars: ✭ 41 (+105%)
Mutual labels:  pool

General

Simple gridcoin pool with automated payments. Can work on Raspberry Pi 2 or 3.

Requirements

  1. PHP 5 with openssl lib or PHP 7
  2. Apache web server, mysql, tested in ubuntu
  3. At least 10000 gridcoins for staking (more GRC means faster stakes)
  4. Gridcoin Research client
  5. Optionally crypt_prog from BOINC for signing urls
  6. If you want more security: second computer for storing staking wallet outside of web server

Automatic installation

  1. Copy files to folder, e.g. /var/www/boinc_pool/
  2. Set web access to /var/www/boinc_pool/web
  3. Run setup via setup.php
  4. Follow instructions

Manual installation

BOINC part

  1. Register at every whitelisted BOINC project with one login and password.
  2. You name in World Community Grid should be same as your email
  3. Copy every weak auth key to DB table boincmgr_projects (besause world community grid sends incorrect weak key via XML RPC)
  4. Yoyo@home has no weak auth key. You can use full access key for private pool

Apache, PHP, MySQL part

  1. Copy files to folder, e.g. /var/www/boinc_pool/
  2. Set web access to /var/www/boinc_pool/web
  3. Create DB and DB user for pool
  4. Run manual.sql in pool's DB
  5. Set cron 1h to update_projects_data.php, update_blocks.php and send_rewards.php
  6. Change settings in your settings.php
  7. Register new user via web, then change his status to "admin" in boincmgs_users

Cron jobs

# 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

Gridcoin research wallet, beacon

  1. Run gridcoinresearchd in CLI mode with RPC:
rpcuser=username
rpcpassword=password1
rpcallowip=127.0.0.1/255.255.255.255
rpcport=port
  1. 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
  2. Check that your cpid are synced (you coud see that in project control page)

Mining guide

  1. Register in pool
  2. Sync your BOINC client with pool and your username/password
  3. Attach projects and sync one more time
  4. After 1 day check that your host appears in BOINC hosts
  5. Wait for pool stake, then do billing and receive rewards

Common interface guide

Pool info

You can read about pool here

Payouts

You can see reward payouts here.

Pool stats

You can see project BOINC stats here.

Login

You can login here.

Register

You can register here.

Feedback

You can leave feedback here, these messages could be read by administrator.

User interface guide

Settings

You can change payout address, password and email here. Password is requred to change something.

Your hosts

You can see hosts, attached to your account, attach and detach projects, delete hosts, see syncronization status..

BOINC results

You can see your BOINC stats here.

Admin interface guide

Project statuses

You can set statuses for projects:

  1. Enabled - get data from project, rewards enabled, available to attach for users
  2. Stats only - get data from project, no rewarding, unavailable for attach
  3. Disabled - don't get data from project, no rewarding, unavailable for attach

User statuses

  1. User - ordinary user
  2. Admin - can change user statuses, project statuses, do manual billings
  3. Banned - user can not login
  4. Donator - all user reward distributed between others (like negative fee), could be used for promotion, if you distribute your coins between users.

Billing

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.

Log

In log section you can view what happening with pool, users, projects, syncs, actions:

  1. User actions - registering, attaching, detaching, deleting, syncing
  2. Project syncing
  3. 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'

Pool info editor

You can change pool info here. Any HTML or scripting allowed.

Messages

You can read feedback messages here.

Emails

You can see pool email texts and statuses here.

Debug interfaces

You can set $debug_mode=TRUE in settings.php, and XML between users and XML between projects will be written to table boincmgr_xml.

How rewarding works

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

  1. Billing works in automatic mode. After billing rewards send automatically.
  2. If you want, you can distribute coins with "billing" interface. Fill start and stop dates to calculate contribution, reward amount and click "send rewards".

What's new

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

To do

  • Option for distribute coins equally between users (for rains or faucets)
  • Comments to host, user, project
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].