Skip to content
Sebastian Grewe edited this page Jan 7, 2014 · 23 revisions

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.

What does MPOS even stand for

Mining Portal Open Source

How do I add some custom JavaScript code?

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.

What coins are supported?

Please check the README and POOLS file in this project. You will get a general idea which coins have been tested with MPOS.

Coin XZY uses a different reward per block, can I change that?

Please check your configuration file. You have to set the block reward to your coins reward value. It defaults to 50 for LTC.

Can I run multiple payout systems at the same time or per worker?

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.

The website sometimes takes a long time to load, why is that?

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.

Why does stratum seem to be off when using MPOS?

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

How do I change my POOL_TARGET properly?

  • 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 then flush_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

"Configuration file version and/or Database version mismatch" after git pull

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 local global.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).
Clone this wiki locally