Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
install_pool [2018/06/24 23:15]
psychosterope [Mining Pool Setup]
install_pool [2019/01/11 00:47] (current)
Line 59: Line 59:
 ===Install Required Packages=== ===Install Required Packages===
 <code bash> <code bash>
-$ sudo apt-get install build-essential cmake libtool autotools-dev autoconf libssl-dev pkg-config libboost-all-dev libssl-dev libzmq3-dev libunbound-dev libsodium-dev libminiupnpc-dev libunwind8-dev liblzma-dev libreadline6-dev libldns-dev libexpat1-dev libgtest-dev doxygen graphviz git curl npm libminiupnpc-dev+$ sudo apt-get install build-essential cmake libtool autotools-dev autoconf libssl-dev pkg-config libboost-all-dev libssl-dev libzmq3-dev libunbound-dev libsodium-dev libminiupnpc-dev libunwind-dev liblzma-dev libreadline-dev libldns-dev libexpat1-dev libgtest-dev doxygen graphviz git curl libminiupnpc-dev
 $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
  
Line 156: Line 156:
 Using a new terminal window Using a new terminal window
  
-We will use the [[git clone https://github.com/dvandal/cryptonote-nodejs-pool.git pool]] to setup the pool and front end site.+We will use the [[https://github.com/dvandal/cryptonote-nodejs-pool]] to setup the pool and front end site.
 ====Downloading and Installing==== ====Downloading and Installing====
 Clone the repository and run npm update for all the dependencies to be installed: Clone the repository and run npm update for all the dependencies to be installed:
Line 188: Line 188:
 <code json> <code json>
 { {
 +    "poolHost": "your.pool.host",
 +
     "coin": "iridium",     "coin": "iridium",
     "symbol": "IRD",     "symbol": "IRD",
     "coinUnits": 100000000,     "coinUnits": 100000000,
 +    "coinDecimalPlaces": 4,
     "coinDifficultyTarget": 175,     "coinDifficultyTarget": 175,
 +
 +    "daemonType": "default",
 +    "cnAlgorithm": "cryptonight_light",
 +    "cnVariant": 1,
 +    "cnBlobType": 2,
  
     "logging": {     "logging": {
Line 208: Line 216:
         "enabled": true,         "enabled": true,
         "clusterForks": "auto",         "clusterForks": "auto",
-        "poolAddress": "your_pool_wallet_address",+        "poolAddress": "** Your pool wallet address **"
 +        "intAddressPrefix": null,
         "blockRefreshInterval": 1000,         "blockRefreshInterval": 1000,
         "minerTimeout": 900,         "minerTimeout": 900,
 +        "sslCert": "./cert.pem",
 +        "sslKey": "./privkey.pem",
 +        "sslCA": "./chain.pem",
         "ports": [         "ports": [
             {             {
                 "port": 3333,                 "port": 3333,
-                "difficulty": 500,+                "difficulty": 5000,
                 "desc": "Low end hardware"                 "desc": "Low end hardware"
             },             },
             {             {
-                "port": 5555+                "port": 4444
-                "difficulty": 5000,+                "difficulty": 15000,
                 "desc": "Mid range hardware"                 "desc": "Mid range hardware"
             },             },
             {             {
-                "port": 7777,+                "port": 5555,
                 "difficulty": 25000,                 "difficulty": 25000,
                 "desc": "High end hardware"                 "desc": "High end hardware"
 +            },
 +            {
 +                "port": 7777,
 +                "difficulty": 500000,
 +                "desc": "Cloud-mining / NiceHash"
             },             },
             {             {
                 "port": 8888,                 "port": 8888,
-                "difficulty": 400500+                "difficulty": 25000
-                "desc": "Nicehash or mining farm", +                "desc": "Hidden port", 
-                "hidden": false+                "hidden": true 
 +            }, 
 +            { 
 +                "port": 9999, 
 +                "difficulty": 20000, 
 +                "desc": "SSL connection", 
 +                "ssl": true
             }             }
         ],         ],
         "varDiff": {         "varDiff": {
-            "minDiff": 500+            "minDiff": 100
-            "maxDiff": 1000000+            "maxDiff": 100000000
-            "targetTime": 20+            "targetTime": 60
-            "retargetTime": 40,+            "retargetTime": 30,
             "variancePercent": 30,             "variancePercent": 30,
             "maxJump": 100             "maxJump": 100
-        },   +        }, 
 +        "paymentId":
 +            "addressSeparator": "+" 
 +        },
         "fixedDiff": {         "fixedDiff": {
             "enabled": true,             "enabled": true,
Line 261: Line 287:
         "slushMining": {         "slushMining": {
             "enabled": false,             "enabled": false,
-            "weight": 120,+            "weight": 300, 
 +            "blockTime": 60,
             "lastBlockCheckRate": 1             "lastBlockCheckRate": 1
-        }+         }
     },     },
  
     "payments": {     "payments": {
         "enabled": true,         "enabled": true,
-        "interval": 600+        "interval": 1800
-        "maxAddresses": 10+        "maxAddresses": 50
-        "mixin": 2+        "mixin": 5, 
-        "transferFee": 50000+        "priority": 0
-        "minPayment": 1000000000,+        "transferFee": 5000000, 
 +        "dynamicTransferFee": true, 
 +        "minerPayFee" : true
 +        "minPayment": 100000000, 
 +        "maxPayment": null,
         "maxTransactionAmount": 0,         "maxTransactionAmount": 0,
-        "denomination": 1000000+        "denomination": 10000000
     },     },
  
     "blockUnlocker": {     "blockUnlocker": {
         "enabled": true,         "enabled": true,
-        "interval": 175,+        "interval": 30,
         "depth": 20,         "depth": 20,
-        "poolFee": 0.5+        "poolFee": 0.8
-        "devDonation": 0.5+        "devDonation": 0.2
-        "coreDevDonation": 0.5, +        "networkFee": 0.0
-        "extraFeaturesDevDonation":0.0+
     },     },
  
     "api": {     "api": {
         "enabled": true,         "enabled": true,
-        "hashrateWindow": 300+        "hashrateWindow": 600
-        "updateInterval": 30,+        "updateInterval": 5, 
 +        "bindIp": "0.0.0.0",
         "port": 8117,         "port": 8117,
         "blocks": 30,         "blocks": 30,
         "payments": 30,         "payments": 30,
-        "password": "your_password"+        "password": "your_password"
 +        "ssl": false, 
 +        "sslPort": 8119, 
 +        "sslCert": "./cert.pem", 
 +        "sslKey": "./privkey.pem", 
 +        "sslCA": "./chain.pem", 
 +        "trustProxyIP": true
     },     },
  
Line 304: Line 341:
     "wallet": {     "wallet": {
         "host": "127.0.0.1",         "host": "127.0.0.1",
-        "port": 14007+        "port": 13008
     },     },
  
     "redis": {     "redis": {
         "host": "127.0.0.1",         "host": "127.0.0.1",
-        "port": 6379+        "port": 6379
 +        "auth": null, 
 +        "db": 0, 
 +        "cleanupInterval": 15
     },     },
  
 +    "notifications": {
 +        "emailTemplate": "email_templates/default.txt",
 +        "emailSubject": {
 +            "emailAdded": "Your email was registered",
 +            "workerConnected": "Worker %WORKER_NAME% connected",
 +            "workerTimeout": "Worker %WORKER_NAME% stopped hashing",
 +            "workerBanned": "Worker %WORKER_NAME% banned",
 +            "blockFound": "Block %HEIGHT% found !",
 +            "blockUnlocked": "Block %HEIGHT% unlocked !",
 +            "blockOrphaned": "Block %HEIGHT% orphaned !",
 +            "payment": "We sent you a payment !"
 +        },
 +        "emailMessage": {
 +            "emailAdded": "Your email has been registered to receive pool notifications.",
 +            "workerConnected": "Your worker %WORKER_NAME% for address %MINER% is now connected from ip %IP%.",
 +            "workerTimeout": "Your worker %WORKER_NAME% for address %MINER% has stopped submitting hashes on %LAST_HASH%.",
 +            "workerBanned": "Your worker %WORKER_NAME% for address %MINER% has been banned.",
 +            "blockFound": "Block found at height %HEIGHT% by miner %MINER% on %TIME%. Waiting maturity.",
 +            "blockUnlocked": "Block mined at height %HEIGHT% with %REWARD% and %EFFORT% effort on %TIME%.",
 +            "blockOrphaned": "Block orphaned at height %HEIGHT% :(",
 +            "payment": "A payment of %AMOUNT% has been sent to %ADDRESS% wallet."
 +        },
 +        "telegramMessage": {
 +            "workerConnected": "Your worker _%WORKER_NAME%_ for address _%MINER%_ is now connected from ip _%IP%_.",
 +            "workerTimeout": "Your worker _%WORKER_NAME%_ for address _%MINER%_ has stopped submitting hashes on _%LAST_HASH%_.",
 +            "workerBanned": "Your worker _%WORKER_NAME%_ for address _%MINER%_ has been banned.",
 +            "blockFound": "*Block found at height* _%HEIGHT%_ *by miner* _%MINER%_*! Waiting maturity.*",
 +            "blockUnlocked": "*Block mined at height* _%HEIGHT%_ *with* _%REWARD%_ *and* _%EFFORT%_ *effort on* _%TIME%_*.*",
 +            "blockOrphaned": "*Block orphaned at height* _%HEIGHT%_ *:(*",
 +            "payment": "A payment of _%AMOUNT%_ has been sent."
 +        }
 +    },
 +
 +    "email": {
 +        "enabled": false,
 +        "fromAddress": "your@email.com",
 +        "transport": "sendmail",
 +        "sendmail": {
 +            "path": "/usr/sbin/sendmail"
 +        },
 +        "smtp": {
 +            "host": "smtp.example.com",
 +            "port": 587,
 +            "secure": false,
 +            "auth": {
 +                "user": "username",
 +                "pass": "password"
 +            },
 +            "tls": {
 +                "rejectUnauthorized": false
 +            }
 +        },
 +        "mailgun": {
 +            "key": "your-private-key",
 +            "domain": "mg.yourdomain"
 +        }
 +    },
 +
 +    "telegram": {
 +        "enabled": false,
 +        "botName": "",
 +        "token": "",
 +        "channel": "",
 +        "channelStats": {
 +            "enabled": false,
 +            "interval": 30
 +        },
 +        "botCommands": {
 +            "stats": "/stats",
 +            "report": "/report",
 +            "notify": "/notify",
 +            "blocks": "/blocks"
 +        }
 +    },
 +    
     "monitoring": {     "monitoring": {
         "daemon": {         "daemon": {
Line 323: Line 438:
     },     },
  
 +    "prices": {
 +        "source": "tradeogre",
 +        "currency": "USD"
 +    },
 +    
     "charts": {     "charts": {
         "pool": {         "pool": {
             "hashrate": {             "hashrate": {
 +                "enabled": true,
 +                "updateInterval": 60,
 +                "stepInterval": 1800,
 +                "maximumPeriod": 86400
 +            },
 +            "miners": {
                 "enabled": true,                 "enabled": true,
                 "updateInterval": 60,                 "updateInterval": 60,
Line 366: Line 492:
                 "enabled": true                 "enabled": true
             }             }
 +        },
 +        "blocks": {
 +            "enabled": true,
 +            "days": 30
         }         }
     }     }
 +}
     </code>     </code>
 ====Start the pool==== ====Start the pool====