Repository
https://github.com/sau412/arikado_gridcoin_pool
Introduction
This is project introduction, differences from other project and roadmap.
Project introduction
Looks like advertising a little. But it required to understanding what projects is and why pools required.
There are three ways to receive Gridcoin without exchanges:
- Investor mode, when you receive coins directly to your wallet with Proof of Stake. Initial investments required.
- Solo-mining, when you receive coins directly to your wallet with Proof of Stake and Proof of Research. Proof of Research rewards sent using information from linked BOINC account. But that way also reqiure initial investments.
- Pool mining, when you attach your PC to the pool. No initial investments required for pool user.
Gridcoin pool is a solo-miner and has single BOINC account. But also it allow attachment of computers of pool's users to pool's BOINC account. Don't mess pool users with BOINC users, they are different species. When pool receive rewards from network pool should fairly distribute received funds between all contributors.
Network provides no informations about specific computer contribution, only for specific BOINC user. If you want to calculate contribution of specific pool user you should collect statistics from BOINC site. Then emulate Gridcoin rewarding system.
Each BOINC project contain their own scoring system. Ten points of project A is not equal to ten points of project B. For fair distribution BOINC points converted to parameter, called magnitude. Magnitude is proportional to score in the project and allow to compare results between projects.
Pool should collect host statistics between payouts, because score is changing.
Funds receiving is pretty rare event. It means that multiple data points should be used for reward calcultaion. There is sort of numerical integration used:
User reward is proportional to relative contribution:
Relative contribution of user = (summ of all user lines) / (summ of all lines)
TL;DR: Arikado Gridcoin pool is opensource project. It collects statistics from BOINC sites using their API. Then it distribute rewards using that statistics.
Differences from other projects.
There are only one different opensouced project exists, it called PHP-Pool.
Github: https://github.com/gridcoin-community/PHP-Pool
Working implementation is called grcpool: https://grcpool.com/
Grcpool has more features than PHP-Pool, but they has common code base.
In programming style
Arikado pool based on imperative programming paradigm. No framework. Only external library is jQuery currently.
PHP-Pool uses symfony framework. It means it used view-model-controller scheme. It also uses external opensource libraries and projects: jQuery, bootstrap, fontAwesome, table sorter, socket.io.
Links:
- jQuery https://github.com/jquery/jquery
- Bootstrap https://github.com/twbs/bootstrap
- fontAwesome https://github.com/FortAwesome/Font-Awesome
- Table sorter https://github.com/Mottie/tablesorter
- socket.io https://github.com/socketio/socket.io
In setup
Arikado pool has setup feature. You should register on various sites and fill data into forms. Then pool setup show you what to do.
PHP-Pool has no setup features. You should fill data into json configuration file, PHP configuration file and directly into database.
In web interface
Arikado pool can update only part of the page for informational requests. If you click 'Pool info' when you are on 'Feedback' tab only part of the page is updated. If you change information or logging in/out it reloads all page.
PHP-Pool generates whole page when you select different menu item.
In administrative interface
Arikado pool has administrative interfaces for log, sending rewards, feedback, project and user control, sent emails, pool info (main page).
PHP-Pool has no administrative interfaces. All changes done with direct access to database or php files.
Access to user contribution info
Arikado pool provides information to user BOINC score, magnitude, rewards and BOINC tasks results. Task information can used for project selection and error noticing. Tasks stats is not available for World Community Grid.
Task information:
PHP-Pool provide information about BOINC score, magnitude and rewards. Tasks information is only for project World Community Grid.
Wallet access
Arikado pool uses API for sending funds. Hot wallet (with enabled API) can work on different machine. Also it checks staking wallet. Staking wallet should be on different machine for security reasons (without API). From time to time administrator should send funds from staking wallet to hot wallet.
PHP-Pool require access to wallet files and wallet should work on the same machine.
In visual style
Arikado pool has only basic CSS styling. Mobile and desktop version are same.
PHP-Pool has desktop and mobile version and uses bootstrap and fontAwesome library. Bootstrap project have features to hadle mobile and desktop versions of the site. But "request desktop version" feature is not working here.
Links:
- Bootstrap https://github.com/twbs/bootstrap
- fontAwesome https://github.com/FortAwesome/Font-Awesome
In popularity
Arikado pool is pretty new, started in may 2018. It is used by 26 users now:
Source : https://grc.arikado.ru/#rating_by_user_mag
Grcpool is used by ten thousands of users.
Source (see grcpool.com membership chart): https://grcpool.com/report/poolChart
Roadmap
First three features will be implemended in nearest future.
- Add mobile version. There is enchasement request exists on the github: https://github.com/sau412/arikado_gridcoin_pool/issues/6
- Add faucet to attract more users.
- Add big graphs for user score and progress. Currently only small graphs are available.
Other features will implemended after:
- Add email unsubsribe, password recovery, notices for admin.
- Project suggestion - there
- Video instructions (like grcpool's)
- User can add notes to his host
- Admin can add notes to projects and users
- Wallet status page. Should provide information about wallet status.
- Pool installer - BOINC provides feature to attach to project manager automatically.
Resources
- Official Gridcoin site: https://gridcoin.us/
- Gridcoin information: https://github.com/parejan/gridcoin/blob/master/Footer.txt
- Arikado pool: https://gridcoinpool.ru/
- PHP-Pool github: https://github.com/gridcoin-community/PHP-Pool
- Grcpool: https://grcpool.com/
- jQuery https://github.com/jquery/jquery
- Bootstrap https://github.com/twbs/bootstrap
- fontAwesome https://github.com/FortAwesome/Font-Awesome
- Table sorter https://github.com/Mottie/tablesorter
- socket.io https://github.com/socketio/socket.io
Series Backlinks
- https://steemit.com/utopian-io/@sau412/development-log-for-arikado-gridcoin-pool
Next are not in utopian project, but btill can be useful: - Latest updates: https://steemit.com/gridcoin/@sau412/arikado-pool-updates-and-small-bug-bounty-program
- How to setup PHP-Pool: https://steemit.com/gridcoin/@sau412/how-to-install-php-pool
- How gridcoin pool works: https://steemit.com/gridcoin/@sau412/how-gridcoin-pool-works-if-you-want-to-write-or-own-yours