oliverw / miningcore

Miningcore is a high-performance Mining Pool Software for Linux and Windows.
https://store.miningcore.pro
MIT License
724 stars 664 forks source link

example config.json for multiple coins #1670

Closed chpendi closed 1 year ago

chpendi commented 1 year ago

Good morning, can someone post an example of config.json with multiple coins id.? THANKS

chpendi commented 1 year ago

I can't get started with more than one algo.!

chpendi commented 1 year ago

it starts each time with the last coin of the list.!

chpendi commented 1 year ago

{ "logging": { "level": "info", "enableConsoleLog": true, "enableConsoleColors": true, // Log file name (full log) - can be null in which case log events are written to console (stdout) "logFile": "core.log", // Log file name for API-requests - can be null in which case log events are written to either main logFile or console (stdout) "apiLogFile": "api.log", // Folder to store log file(s) "logBaseDirectory": "/path/to/logs", // or c:\path\to\logs on Windows // If enabled, separate log file will be stored for each pool as .log // in the above specific folder. "perPoolLogFile": false }, "banning": { // "integrated" or "iptables" (linux only - not yet implemented) "manager": "Integrated", "banOnJunkReceive": true, "banOnInvalidShares": false }, "notifications": { "enabled": true, "email": { "host": "smtp.example.com", "port": 587, "user": "user", "password": "1234", "fromAddress": "info@yourpool.org", "fromName": "pool support" }, "admin": { "enabled": false, "emailAddress": "user@example.com", "notifyBlockFound": true } }, // Where to persist shares and blocks to "persistence": { // Persist to postgresql database "postgres": { "host": "127.0.0.1", "port": 5432, "user": "miningcore", "password": "1234", "database": "miningcore" } }, // Generate payouts for recorded shares and blocks "paymentProcessing": { "enabled": true, // How often to process payouts, in milliseconds "interval": 300, "minimumPayment": 5, // Path to a file used to backup shares under emergency conditions, such as // database outage "shareRecoveryFile": "recovered-shares.txt" }, // API Settings "api": { "enabled": true, // Binding address (Default: 127.0.0.1) "listenAddress": "127.0.0.1", // Binding port (Default: 4000) "port": 4000, // IP address whitelist for requests to Prometheus Metrics (default 127.0.0.1) "metricsIpWhitelist": [], // Limit rate of requests to API on a per-IP basis "rateLimiting": { "disabled": false, // disable rate-limiting all-together, be careful // override default rate-limit rules, refer to https://github.com/stefanprodan/AspNetCoreRateLimit/wiki/IpRateLimitMiddleware#defining-rate-limit-rules "rules": [ { "Endpoint": "*", "Period": "1s", "Limit": 128

} ] } }, // List of IP addresses excempt from rate-limiting (default: none) "ipWhitelist": [],

"pools": [{ "id": "radiant", "enabled": true, "coin": "radiant", "address": "1G9WhcqeSMiaSXyJvuPrHYATKVDuhFVhYb", "rewardRecipients": [ { "address": "1G9WhcqeSMiaSXyJvuPrHYATKVDuhFVhYb", "percentage": 0.1 } ], "blockRefreshInterval": 500, "jobRebroadcastTimeout": 3, "clientConnectionTimeout": 600, "banning": { "enabled": false, "time": 600, "invalidPercent": 50, "checkThreshold": 50 }, "ports": { "3064": { "listenAddress": "0.0.0.0", "difficulty": 1024, "varDiff": { "minDiff": 512, "targetTime": 15, "retargetTime": 90, "variancePercent": 30 } } }, "daemons": [ { "host": "127.0.0.1", "port": 7332, "user": "1G9WhcqeSMiaSXyJvuPrHYATKVDuhFVhYb", "password": "1234" } ], "paymentProcessing": { "enabled": true, "minimumPayment": 0.5, "payoutScheme": "PPLNS", "payoutSchemeConfig": { "factor": 2.0

} }, "id": "cyberyen", "enabled": true, "coin": "cyberyen", "address": "A15XyX3mb42cKWe6j6G1zjG7yqHXmYasJz", "rewardRecipients": [ { "address": "A15XyX3mb42cKWe6j6G1zjG7yqHXmYasJz", "percentage": 0.1 } ], "blockRefreshInterval": 500, "jobRebroadcastTimeout": 10, "clientConnectionTimeout": 600, "banning": { "enabled": true, "time": 600, "invalidPercent": 50, "checkThreshold": 50 }, "ports": { "3063": { "listenAddress": "0.0.0.0", "difficulty": 1024, "varDiff": { "minDiff": 512, "targetTime": 15, "retargetTime": 90, "variancePercent": 30 } } }, "daemons": [ { "host": "127.0.0.1", "port": 58382, "user": "A15XyX3mb42cKWe6j6G1zjG7yqHXmYasJz", "password": "1234" } ], "paymentProcessing": { "enabled": true, "minimumPayment": 0.5, "payoutScheme": "PPLNS", "payoutSchemeConfig": { "factor": 2.0 } }, "id": "volkshash", "enabled": true, "coin": "volkshash", "address": "VDMueZ9iKHCVyYGRAFxSi6qwPCe6bypiBW", "rewardRecipients": [ { "address": "VDMueZ9iKHCVyYGRAFxSi6qwPCe6bypiBW", "percentage": 0.1 } ], "blockRefreshInterval": 100, "jobRebroadcastTimeout": 60, "clientConnectionTimeout": 6000, "banning": { "enabled": false, "time": 600, "invalidPercent": 50, "checkThreshold": 50 }, "ports": { "3062": { "listenAddress": "0.0.0.0", "difficulty": 5, "varDiff": { "minDiff": 0.1, "targetTime": 30, "retargetTime": 60, "variancePercent": 30 } } }, "daemons": [ { "host": "127.0.0.1", "port": 1310, "user": "VDMueZ9iKHCVyYGRAFxSi6qwPCe6bypiBW", "password": "1234" } ], "paymentProcessing": { "enabled": true, "minimumPayment": 500, "payoutScheme": "PPLNS", "payoutSchemeConfig": { "factor": 2.0

} }, "id": "camping", "enabled": true, "coin": "camping", "address": "CXX2cXoj6Nub24PMSCMEqzGzgzyc8Uv9xB", "rewardRecipients": [ { "address": "CXX2cXoj6Nub24PMSCMEqzGzgzyc8Uv9xB", "percentage": 0.1 } ], "blockRefreshInterval": 100, "jobRebroadcastTimeout": 60, "clientConnectionTimeout": 6000, "banning": { "enabled": false, "time": 600, "invalidPercent": 50, "checkThreshold": 50 }, "ports": { "3061": { "listenAddress": "0.0.0.0", "difficulty": 5, "varDiff": { "minDiff": 0.1, "targetTime": 30, "retargetTime": 60, "variancePercent": 30 } } }, "daemons": [ { "host": "127.0.0.1", "port": 24419, "user": "CHfTT6VwUH37aUqRKDXK1eEUeWQ1A8Y5bM", "password": "1234" } ], "paymentProcessing": { "enabled": true, "minimumPayment": 500, "payoutScheme": "PPLNS", "payoutSchemeConfig": { "factor": 2.0

}
}, "id": "eleccoin", "enabled": true, "coin": "eleccoin", "address": "1xYsseoYXEf1ZMMvWDuumZy4hwGsdvvMc", "rewardRecipients": [ { "address": "1xYsseoYXEf1ZMMvWDuumZy4hwGsdvvMc", "percentage": 0.1 } ], "blockRefreshInterval": 100, "jobRebroadcastTimeout": 60, "clientConnectionTimeout": 6000, "banning": { "enabled": false, "time": 600, "invalidPercent": 50, "checkThreshold": 50 }, "ports": { "3060": { "listenAddress": "0.0.0.0", "difficulty": 5, "varDiff": { "minDiff": 0.1, "targetTime": 30, "retargetTime": 60, "variancePercent": 30 } } }, "daemons": [ { "host": "127.0.0.1", "port": 9832, "user": "1xYsseoYXEf1ZMMvWDuumZy4hwGsdvvMc", "password": "1234" } ], "paymentProcessing": { "enabled": true, "minimumPayment": 50, "payoutScheme": "PPLNS", "payoutSchemeConfig": { "factor": 2.0 } } } ] }

ghost commented 1 year ago

it's 3 coin:

{ "logging": { "level": "info", "enableConsoleLog": true, "enableConsoleColors": true, "logFile": "pool.log", "apiLogFile": "", "logBaseDirectory": "/home/pool/pool-log/", "perPoolLogFile": true }, "banning": { "manager": "Integrated", "banOnJunkReceive": false, "banOnInvalidShares": false }, "statistics": { "updateInterval": 30, "hashrateCalculationWindow": 10, "gcInterval": 1, "cleanupDays": 30 }, "notifications": { "enabled": false, "email": { "host": "smtp.example.com", "port": 587, "user": "user", "password": "password", "fromAddress": "info@yourpool.org", "fromName": "pool support" }, "admin": { "enabled": false, "emailAddress": "user@example.com", "notifyBlockFound": true } }, "persistence": { "postgres": { "host": "127.0.0.1", "port": 5432, "user": "miningcore", "password": "papi", "database": "miningcore" } }, "paymentProcessing": { "enabled": true, "interval": 90, "shareRecoveryFile": "recovered-shares.txt" }, "api": { "enabled": true, "listenAddress": "", "port": 4000, "metricsIpWhitelist": [], "rateLimiting": { "disabled": true, "rules": [ { "Endpoint": "", "Period": "1s", "Limit": 5 } ], "ipWhitelist": [ "" ] } }, "clusterName": "local", "pools": [ { "id": "gold", "enabled": true, "coin": "goldcash", "address": "GX6UfvhfFFHGjkkutREfJNBCXShhjngfg", "rewardRecipients": [ { "address": "GX6UfvhfFFHGjkkutREfJNBCXShhjngfg", "percentage": 1 } ], "maxActiveJobs": 10, "blockRefreshInterval": 500, "jobRebroadcastTimeout": 10, "clientConnectionTimeout": 600, "banning": { "enabled": true, "time": 600, "invalidPercent": 50, "checkThreshold": 50 }, "ports": { "4600": { "listenAddress": "0.0.0.0", "difficulty": 3, "name": "GPU-SMALL", "varDiff": { "minDiff": 1, "maxDiff" : null, "targetTime": 15, "retargetTime": 90, "variancePercent": 30 }

    }
  },
  "daemons": [
    {
      "host": "127.0.0.1",
      "port": 14300,
      "user": "username",
      "password": "password"
    }
  ],
  "paymentProcessing": {
    "enabled": true,
    "minimumPayment": 0.5,
    "payoutScheme": "PROP",
    "payoutSchemeConfig": {
      "factor": 0.2
    }
  }
},
{
  "id": "qoge",
  "enabled": true,
  "coin": "qogecoin",
  "address": "qTGDJGn4gjdzeGUdrakN85vfCLYCms",
  "rewardRecipients": [
    {
      "address": "qTGDJGn4gjdzeGUdrakN85vfCLYCms",
      "percentage": 1
    }
  ],
  "maxActiveJobs": 10,
  "blockRefreshInterval": 500,
  "jobRebroadcastTimeout": 10,
  "clientConnectionTimeout": 600,
  "banning": {
    "enabled": true,
    "time": 600,
    "invalidPercent": 50,
    "checkThreshold": 50
  },
  "ports": {
    "4602": {
      "listenAddress": "0.0.0.0",
      "difficulty": 3,
      "name": "GPU-SMALL",
      "varDiff": {
        "minDiff": 1,
        "maxDiff" : null,
        "targetTime": 15,
        "retargetTime": 90,
        "variancePercent": 30
      }

    }
  },
  "daemons": [
    {
      "host": "127.0.0.1",
      "port": 7780,
      "user": "username",
      "password": "password"
    }
  ],
  "paymentProcessing": {
    "enabled": true,
    "minimumPayment": 10,
    "keepTransactionFees": false,
    "payoutScheme": "PROP",
    "payoutSchemeConfig": {
      "factor": 0.2
    }
  }
},
{
    "id": "aves",
    "enabled": true,
    "coin": "aves",
    "address": "0x43731cA67E70b1CD532345DFGsd9F87A3D",
    "rewardRecipients": [
      {
        "type": "op",
        "address": "0x43731cA67E70b1CD532345DFGsd9F87A3D",
        "percentage": 1
      }
    ],
    "blockRefreshInterval": 120,
    "clientConnectionTimeout": 600,
    "banning": {
      "enabled": true,
      "time": 600,
      "invalidPercent": 50,
      "checkThreshold": 50
    },
    "ports": {
      "4610": {
        "name": "GPU-SMALL",
        "listenAddress": "*",
        "difficulty": 0.5,
        "varDiff": {
          "minDiff": 0.1,
          "maxDiff": null,
          "targetTime": 15,
          "retargetTime": 90,
          "variancePercent": 30
        }
      }
    },
    "chainTypeOverride": "Aves",
    "dagDir": "/home/pool/aves/dag",
    "daemons": [
      {
        "host": "127.0.0.1",
        "port": 8545,
        "user": "",
        "password": ""
      }
    ],
    "paymentProcessing": {
        "enabled": true,
        "minimumPayment": 0.1,
        "payoutScheme": "PPLNS",
        "payoutSchemeConfig": {
            "factor": 0.5
        },
        "gas": 21000,
        "maxFeePerGas": 50000000000,
        "keepUncles": false,
        "keepTransactionFees": false
    }
  }
]

}

chpendi commented 1 year ago

First of all thank you for your help. here I tried with your conf file and there it is that the first algo of the list that it starts.!!! but thank you again because I improved my conf file thanks to the details found in yours.

chpendi commented 1 year ago

So I summarize there is only the first or the last algo of the list which is taken into account the others are like to ignore, transparent, not detect,...!!!!

ghost commented 1 year ago

I have never experienced this. Maybe if something is left behind. e.g. comma, parenthesis, or similar What I copied was an extract of a 10 coin config

chpendi commented 1 year ago

that's what I thought, so I took the time to check and recheck every comma and other details of the file.

ghost commented 1 year ago

Great help if you use notepad++. Checks the syntax

chpendi commented 1 year ago

that's to say....

chpendi commented 1 year ago

I use simple notepad

chpendi commented 1 year ago

the program does not give me any error, it just runs one algo and ignores the other algo's in the list.!

chpendi commented 1 year ago

it will not rather be a cluster case or something like that...?

ghost commented 1 year ago

"clusterName" (before "pools") is not specified for you.

"Endpoint": "", "Period": "1s", "Limit": 5 } ], "ipWhitelist": [ "" ] } }, "clusterName": "your_cluster_name", "pools": [ {

chpendi commented 1 year ago

Problem solved.! Great you are an ace. THANKS.