-
Notifications
You must be signed in to change notification settings - Fork 1k
A quick FAQ of things we have encountered so far. If you have a question that you'd like answered and that is not listed here, please create an issue and we will see if it is a generic question valid for anyone. Then it shall be added to this document.
Mining Portal Open Source
Yes and no. When I wrote MPOS my queries were not the best, with the newest version a new restriction was added that will cause some queries using GROUP BY
to fail. They were fuzzy at best and worked all the time, but with the new version MySQL rejects them. Since I have no time to go through MPOS and fix all queries affected, here a quick workaround for your database server:
mysql> set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
This setting is lost so either make it permanent via you my.cnf
or re-run the query to reactivate this option.
If you are running MPOS > 1.1.0 you will have a notification in your Admin Setup page. This will lead you do this FAQ entry so run that query if you are on MySQL 5.7 to fix the issue.
You can edit the templates/mmcFE/global/header.tpl
file to add your own custom JavaScript code. Either by using the smarty {literal}
flag so JS code is not parsed by smarty or including your own HTML template. See Smarty Literal and Smarty Include. Question taken from Issue 493.
Please check the README and POOLS file in this project. You will get a general idea which coins have been tested with MPOS
.
Please check your configuration file. You have to set the block reward to your coins reward value. It defaults to 50 for LTC.
No, this is not supported by MPOS
. You define one payout process which is applied to everyone in the pool. You may change the code as you see fit to make it work for yourself.
You are probably not running the statistics cron. It fetches data and pre-caches it for the website. If the website is not able to fetch cached data, it will run queries by itself. On long rounds this will be very noticeable on the frontend. Enable the cron to fix that.
This is a rather complex answer so please read along.
@pooler was nice enough to explain it to me in detail:
pushpoold
uses a target bits terminology and stratum a difficulty setting. These are different. When running pushpoold
at a target bit of 20 you will match the default setting of 16 in startum-mining
. This will ensure that hashrates on MPOS
match up! If you'd think you could set pushpoold
to 16 and match it with stratum you will be off.
He devised a formula that can be used to change startum
difficulty and match pushpoold
and MPOS
to it:
(stratum diff) ~= 2^((target bits in pushpool) - 16)
Example, you are running MPOS
and pushpoold
with a setting of 20
:
16 ~= 2^(20 - 16)
And vice-versa, here an example to go from a custom difficulty in stratum back to the proper difficulty setting in MPOS (useful if you wish to migrate somehow and keep your diff):
(log(16)/log(2)) + 16 = 20;
Stratum | Target Bits |
---|---|
16 | 20 |
32 | 21 |
64 | 22 |
128 | 23 |
256 | 24 |
512 | 25 |
1024 | 26 |
2048 | 27 |
4096 | 28 |
8192 | 29 |
16384 | 30 |
32768 | 31 |
65536 | 32 |
131072 | 33 |
262144 | 34 |
524288 | 35 |
1048576 | 36 |
2097152 | 37 |
4194304 | 38 |
8388608 | 39 |
16777216 | 40 |
- Stop stratum (we have to update the shares table!)
- Stop Webserver (so we don’t deal with live queries)
- Stop crons (so they don’t update)
- Flush Memcache (so we drop old stats)
- e.g.
telnet localhost 11211
thenflush_all<enter>
- Increase POOL_TARGET (went 16 => 64)
- Increase MPOS difficulty (went 20 => 22)
- Update Tables
UPDATE shares SET difficulty = 16
UPDATE blocks SET shares = shares / 4
UPDATE statistics_shares SET valid = valid / 4, invalid = invalid / 4, pplns_valid = pplns_valid / 4, pplns_invalid = pplns_invalid / 4 Start stratum, webserver, crons
This means you have pulled some recent updates from git that included some configuration update or newly added SQL update file:
- Ensure you have imported those outstanding files in the
sql
folder. They will update the database schema version for you too, so that error will disappear. - Compare your local MPOS configuration with the supplied
global.inc.dist.php
file. Recently added configuration options should be merged into your localglobal.inc.php
configuration. Then you can increment the$config['version']
to the expected value. Do that after you have confirmed all changes were migrated (diff file1 file2
is your friend).
Create a file called robots.txt to your Root Folder of MPOS and add the following lines
User-agent: *
Disallow: /*?page=
with this settings, no more Pages are indexed by Search Engines
See requirement, install php-mysqlnd - you are running a different library not supporting the get_result method.
This is caused by SQL or file based template changes which cause smarty not to run properly anymore. You can find a ticket and my comment explaining this here: https://github.com/MPOS/php-mpos/issues/1880#issuecomment-36606715
-
- installation of Redis requires TCL 8.5 or newer TCL Download Page