When loading a pool configuration file (ie pool.json), CoiniumServ will be also loading default.json file and merging the values from both - by overriding the values within default.json using the values from the actual pool configuration file.


In order to be more brief, we'll show below to override the stratum difficulty setting.


In default.json, diff setting exists under the stratum section;

 

"stratum": {
        "enabled": true,
        "bind": "0.0.0.0",
        "diff": 16,
        "vardiff": {
            "enabled": true,
            "minDiff": 8,
            "maxDiff": 512,
            "targetTime": 15,
            "retargetTime": 90,
            "variancePercent": 30
        }
    }

 

The above json snippet will set miner difficulty to 16 when they are first connected to the server. We can simply override any setting in per-pool configuration files by including it in the correct section.

 

    "stratum": {
        "port": 3337,
        diff: 32
    }

 

The above snippet will be overriding the default difficulty of 16 and set it to 32 for the specific pool instance configured.  Basically CoiniumServ will merge the per-pool configuration file by overriding the settings in default.json. Finally the merged configuration will be like;

  

"stratum": {
        "enabled": true,
        "port": 3337,
        "bind": "0.0.0.0",
        "diff": 32,
        "vardiff": {
            "enabled": true,
            "minDiff": 8,
            "maxDiff": 512,
            "targetTime": 15,
            "retargetTime": 90,
            "variancePercent": 30
        }
    }

  


Overriding difficulty setting for X11 and similar coins


Coins that uses algorithms like X11 require low-difficulty settings. You can just override the difficulty for them as described above. A sample configuration for an X11 coin would be;

 

"stratum": {
        "port": 3346,
        "diff": 0.001,
        "vardiff": {
            "enabled": false
        }        
    },