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

Is the fortune of a woman with great virtue good?

A person's hidden virtue is obtained through ...

What are the basic characteristics of a prosperous husband?

Whether a woman can bring good luck to her husban...

How much is your face worth?

It is said that one cannot judge a person by his ...

Filecoin’s crypto-economic design

Original title: "Filecoin's Cryptoeconom...

Analyst: Bitcoin ETF may be approved or make Bitcoin hit a new high

On October 15, market analyst Mark Cranfield said...

How to tell a person's luck in love through face reading

The facial features have a great influence on per...

The location and fate of the mole on the chin

The location and fate of the mole on the chin Sta...

What is distributed storage? An in-depth study of Filecoin

In 2020, distributed storage has entered our fiel...

Your significant other's luck in love can be seen from your face

Peach (scientific name: Amygdalus persica L.): Ro...

Rakuten surveys earn money and points to exchange for cash rewards

As a professional market research tool under the ...

What is a crooked nose in physiognomy?

The nose is located in the most central position ...

Fed rate hike: Will it end the bull market?

If we were to take stock of the most important &q...