Tutorial on how to quickly build a Monero mining pool with various algorithms in 10 minutes

Tutorial on how to quickly build a Monero mining pool with various algorithms in 10 minutes

Prepare Ubuntu system

Follow the steps below to enter

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash

sudo apt-get install -y nodejs

sudo add-apt-repository ppa:chris-lea/redis-server

sudo apt-get update

sudo apt-get install redis-server

sudo apt-get install libssl-dev

sudo apt-get install libboost-all-dev

git clone https://github.com/dvandal/cryptonote-nodejs-pool.git pool

cd

npm update

Edit vi config.json

enter

{
"poolHost": "your.pool.host",

"coin": "iridium",
“symbol”: “IRD”,
"coinUnits": 100000000,
"coinDecimalPlaces": 4,
"coinDifficultyTarget": 175,

"daemonType": "default",
"cnAlgorithm": "cryptonight_light",
"cnVariant": 1,
"cnBlobType": 2,

"logging": {
"files": {
"level": "info",
"directory": "logs",
"flushInterval": 5
},
"console": {
"level": "info",
“colors”: true
}
},

"poolServer": {
"enabled": true,
"clusterForks": "auto",
"poolAddress": "** Your pool wallet address **",
"intAddressPrefix": null,
"blockRefreshInterval": 1000,
"minerTimeout": 900,
"sslCert": "./cert.pem",
"sslKey": "./privkey.pem",
"sslCA": "./chain.pem",
"ports": [
{
"port": 3333,
"difficulty": 5000,
“desc”: “Low end hardware”
},
{
"port": 4444,
"difficulty": 15000,
“desc”: “Mid range hardware”
},
{
"port": 5555,
"difficulty": 25000,
“desc”: “High end hardware”
},
{
"port": 7777,
"difficulty": 500000,
"desc": "Cloud-mining / NiceHash"
},
{
"port": 8888,
"difficulty": 25000,
"desc": "Hidden port",
“hidden”: true
},
{
"port": 9999,
"difficulty": 20000,
"desc": "SSL connection",
“ssl”: true
}
],
"varDiff": {
"minDiff": 100,
"maxDiff": 100000000,
"targetTime": 60,
"retargetTime": 30,
"variancePercent": 30,
"maxJump": 100
},
“paymentId”: {
"addressSeparator": "+"
},
"fixedDiff": {
"enabled": true,
"addressSeparator": "."
},
"shareTrust": {
"enabled": true,
"min": 10,
"stepDown": 3,
"threshold": 10,
"penalty": 30
},
"banning": {
"enabled": true,
"time": 600,
"invalidPercent": 25,
"checkThreshold": 30
},
"slushMining": {
"enabled": false,
"weight": 300,
"blockTime": 60,
"lastBlockCheckRate": 1
}
},

“payments”: {
"enabled": true,
"interval": 1800,
"maxAddresses": 50,
"mixin": 5,
"priority": 0,
"transferFee": 5000000,
"dynamicTransferFee": true,
“minerPayFee” : true,
“minPayment”: 100000000,
"maxPayment": null,
"maxTransactionAmount": 0,
"denomination": 10000000
},

"blockUnlocker": {
"enabled": true,
"interval": 30,
"depth": 20,
"poolFee": 0.8,
"devDonation": 0.2,
"networkFee": 0.0
},

"api": {
"enabled": true,
“hashrateWindow”: 600,
"updateInterval": 5,
“bindIp”: “0.0.0.0”,
"port": 8117,
"blocks": 30,
“payments”: 30,
"password": "your_password",
"ssl": false,
“sslPort”: 8119,
"sslCert": "./cert.pem",
"sslKey": "./privkey.pem",
"sslCA": "./chain.pem",
“trustProxyIP”: true
},

"daemon": {
“host”: “127.0.0.1”,
"port": 13007
},

“wallet”: {
“host”: “127.0.0.1”,
"port": 13008
},

"redis": {
“host”: “127.0.0.1”,
"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": "[email protected]",
"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”: {
"daemon": {
"checkInterval": 60,
"rpcMethod": "getblockcount"
},
“wallet”: {
"checkInterval": 60,
"rpcMethod": "getbalance"
}
},

"prices": {
"source": "tradeogre",
“currency”: “USD”
},

"charts": {
"pool": {
"hashrate": {
"enabled": true,
"updateInterval": 60,
"stepInterval": 1800,
“maximumPeriod”: 86400
},
"miners": {
"enabled": true,
"updateInterval": 60,
"stepInterval": 1800,
“maximumPeriod”: 86400
},
"workers": {
"enabled": true,
"updateInterval": 60,
"stepInterval": 1800,
“maximumPeriod”: 86400
},
"difficulty": {
"enabled": true,
"updateInterval": 1800,
"stepInterval": 10800,
“maximumPeriod”: 604800
},
“price”: {
"enabled": true,
"updateInterval": 1800,
"stepInterval": 10800,
“maximumPeriod”: 604800
},
“profit”: {
"enabled": true,
"updateInterval": 1800,
"stepInterval": 10800,
“maximumPeriod”: 604800
}
},
"user": {
"hashrate": {
"enabled": true,
"updateInterval": 180,
"stepInterval": 1800,
“maximumPeriod”: 86400
},
“payments”: {
“enabled”: true
}
},
"blocks": {
"enabled": true,
“days”: 30
}
}
}

After completion, enter ":wq" to save and exit

Start the mining pool

node init.js

Normal state

config.json needs to be modified

<<:  The TUBE coin mining tutorial supports server dual-channel ordinary computer CPU and graphics card mining!

>>:  ETNC coin mining tutorial, total amount 21 billion, Cryptonight V7 algorithm, supports CPU graphics card mining!

Recommend

Bitcoin miners wait for refurbished mining equipment

According to a recent Bloomberg report Report , m...

Analysis of the fortune of men with yin-yang eyes

In physiognomy, if one eye is big and the other i...

Honest and trustworthy, almost every word is true

If there are people who like to lie to others, th...

What does the mole on a man's face mean?

Everyone has a few moles on their body. Many peop...

What does black birthmark mean?

In birthmark fortune-telling, people like to link...

What is the entrance to Teng Snake and what impact will it bring

A person's facial features will often have so...

Is it bad for girls to not have a destiny line?

The lines on everyone's palm are different. S...

Milestone! Bitcoin confirms more than 500 million transactions

At 17:20:48 Beijing time on February 5, the Bitco...

How does your face look like? Is she pregnant?

You can also tell whether you are pregnant from y...

What does Tian Xiang in Ming Palace represent?

In Ziwei Doushu, Tianxiang Star is one of the 14 ...

Spot sale on the coin-mining website [Jinbei HS3-SE]

Product parameters: Currency: HS3 SE Rated comput...

What does a boy's right hand with a broken palm mean?

I believe everyone is familiar with the term &quo...