-
Notifications
You must be signed in to change notification settings - Fork 2
Clustering configuration
jesus-nuco edited this page Jul 5, 2019
·
1 revision
For multiple pools to run in a clustering configuration we are going to consider the following scenario:
- Pool A(Master) connected to kernel A with payments ON and having no miners connected to it (this will act as the only payment pool in the cluster). This pool will be the only one connected to the database, the slave pools will have the data base configuration disable.
- As Pool A is acting as the paying pool from the cluster, the mining should be disabled. You can achieve this by having no ports open or specified in the "ports" section of the configuration file.
- The kernels mining address should be the same address as the pool address.
- Pool B(Slave) connected to kernel B with payments OFF and having miners connected to it.
- The config of the Pool B can be replicated to have as many pools in the cluster as long as they are having the payments and database disabled.
Master node example
{
"api":{
"enabled":true,
"listenAddress":"0.0.0.0",
"port":4000
},
"logging":{
"level":"info",
"enableConsoleLog":true,
"enableConsoleColors":true,
"logFile":"",
"logBaseDirectory":"",
"perPoolLogFile":false
},
"banning":{
"manager":"integrated",
"banOnJunkReceive":true,
"banOnInvalidShares":false
},
"notifications":{
"enabled":false,
"email":{
"host":"smtp.example.com",
"port":587,
"user":"user",
"password":"password",
"fromAddress":"[email protected]",
"fromName":"support"
},
"admin":{
"enabled":false,
"emailAddress":"[email protected]",
"notifyBlockFound":true
}
},
"relays":[
{
"url":"tcp://192.168.1.69:6000",
"sharedEncryptionKey":"testkey"
}
],
"persistence":{
"postgres":{
"host":"127.0.0.1",
"port":5432,
"user":"miningcore",
"password":"password",
"database":"miningcore",
"connectionString":"Server=localhost;Port=5432;Database=miningcore;User Id=miningcore;Password=password;"
}
},
"equihashMaxThreads":4,
"paymentProcessing":{
"enabled":true,
"interval":20,
"shareRecoveryFile":"recovered-shares.txt"
},
"pools":[
{
"id":"aion-pool-1",
"enabled":true,
"coin":"aion",
"address":"0xa074b44709b537d3498d985a1dd6d4dc3bc8d39c1542105055866c4195bd18fa",
"rewardRecipients":[
{
"type":"op",
"address":"0xa04edd834c1728b470deb21fa6811e95137b80d4a6ea5accda6dc1704ade98a2",
"percentage":1
}
],
"blockRefreshInterval":500,
"jobRebroadcastTimeout":10,
"clientConnectionTimeout":600,
"banning":{
"enabled":true,
"time":600,
"invalidPercent":50,
"checkThreshold":50
},
"daemons":[
{
"host":"192.168.1.69",
"port":9545,
"user":"",
"password":""
}
],
"paymentProcessing":{
"enabled":true,
"minimumPayment":0.1,
"enableMinerMinimumPayment":true,
"payoutScheme":"PPLNS",
"payoutSchemeConfig":{
"factor":2.0
},
"accountPassword":"password",
"keepTransactionFees":true,
"minimumConfirmations":1,
"nrgFee":0.0001,
"minimumPeerCount":0,
"privateKey":"",
"sendTransactionsUsingPrivateKey":false
}
}
]
}
Slave node example
{
"logging": {
"level": "info",
"enableConsoleLog": true,
"enableConsoleColors": true,
"logFile": "",
"logBaseDirectory": "",
"perPoolLogFile": false
},
"banning": {
"manager": "integrated",
"banOnJunkReceive": true,
"banOnInvalidShares": false
},
"notifications": {
"enabled": false,
"email": {
"host": "smtp.example.com",
"port": 587,
"user": "user",
"password": "password",
"fromAddress": "[email protected]",
"fromName": "support"
},
"admin": {
"enabled": false,
"emailAddress": "[email protected]",
"notifyBlockFound": true
}
},
"persistence": { },
"relay": {
"publishUrl": "tcp://0.0.0.0:6000",
"sharedEncryptionKey": "testkey"
},
"equihashMaxThreads": 4,
"paymentProcessing": {
"enabled": false
},
"pools": [{
"id": "aion-pool-1",
"enabled": true,
"coin": "aion",
"address": "0xa074b44709b537d3498d985a1dd6d4dc3bc8d39c1542105055866c4195bd18fa",
"blockRefreshInterval": 500,
"jobRebroadcastTimeout": 10,
"clientConnectionTimeout": 600,
"banning": {
"enabled": true,
"time": 600,
"invalidPercent": 50,
"checkThreshold": 50
},
"ports": {
"3333": {
"listenAddress": "0.0.0.0",
"difficulty": 128,
"varDiff": {
"minDiff": 64,
"maxDiff": 512,
"targetTime": 5,
"retargetTime": 5,
"variancePercent": 30,
"maxDelta": 500
}
},
"3334": {
"difficulty": 128
}
},
"daemons": [
{
"host": "192.168.1.69",
"port": 9545,
"user": "",
"password": ""
}
],
"paymentProcessing": {
"enabled": false,
}
}]
}