本文将以dash(x11)和Raven(x16rv2)为例子来说明多算法矿池的搭建过程。

1 环境准备

1.1 准备Ubuntu

准备虚拟机或物理机,操作系统为Ubuntu 18.04

1.2 安装必需的包

sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev libboost-all-dev
sudo apt-get install git npm nodejs redis-server

1.3 下载源码

git clone https://github.com/zone117x/node-open-mining-portal.git nomp
cd nomp
npm update
执行完update后会编译更新一系列依赖库

2 配置矿池

这里钱包和矿池服务器分别部署在不同的机器上,当然它们也可以部署到同一台机器上。

2.1 服务器端配置

cp config_example.json config.json
config.json内容如下

 {
"logLevel": "debug",
"logColors": true, "cliPort": 17117, "clustering": {
"enabled": true,
"forks": "auto"
}, "defaultPoolConfigs": {
"blockRefreshInterval": 1000,
"jobRebroadcastTimeout": 55,
"connectionTimeout": 600,
"emitInvalidBlockHashes": false,
"validateWorkerUsername": true,
"tcpProxyProtocol": false,
"banning": {
"enabled": true,
"time": 600,
"invalidPercent": 50,
"checkThreshold": 500,
"purgeInterval": 300
},
"redis": {
"host": "127.0.0.1",
"port": 6379
}
}, "website": {
"enabled": true,
"host": "10.10.1.230",
"port": 8080,
"stratumHost": "cryppit.com",
"stats": {
"updateInterval": 60,
"historicalRetention": 43200,
"hashrateWindow": 300
},
"adminCenter": {
"enabled": false,
"password": "password"
}
}, "redis": {
"host": "127.0.0.1",
"port": 6379
}, "switching": {
"switch1": {
"enabled": false,
"algorithm": "sha256",
"ports": {
"3333": {
"diff": 10,
"varDiff": {
"minDiff": 16,
"maxDiff": 512,
"targetTime": 15,
"retargetTime": 90,
"variancePercent": 30
}
}
}
},
"switch2": {
"enabled": false,
"algorithm": "scrypt",
"ports": {
"4444": {
"diff": 10,
"varDiff": {
"minDiff": 16,
"maxDiff": 512,
"targetTime": 15,
"retargetTime": 90,
"variancePercent": 30
}
}
}
},
"switch3": {
"enabled": false,
"algorithm": "x11",
"ports": {
"5555": {
"diff": 0.001,
"varDiff": {
"minDiff": 0.001,
"maxDiff": 1,
"targetTime": 15,
"retargetTime": 60,
"variancePercent": 30
}
}
}
}
}, "profitSwitch": {
"enabled": false,
"updateInterval": 600,
"depth": 0.90,
"usePoloniex": true,
"useCryptsy": true,
"useMintpal": true,
"useBittrex": true
}
}

config.json

其中34行改为Ubuntu主机IP地址,为了防止80端口被其他web服务占用,这里使用8080端口,见35行,36行是stratum协议域名,即矿池部署服务器绑定的域名,这里保持默认,其实这里也应是Ubutu主机IP地址,之后再生成两个算法的配置文件
cp pool_configs/litecoin_example.json pool_configs/dash.json
cp pool_configs/litecoin_example.json pool_configs/raven.json
两个文件内容如下

 {
"enabled": true,
"coin": "darkcoin.json", "address": "Xz2J7ktmY7Zip3xvp2hrHLXeUN3bBL75QB", "rewardRecipients": {
"n37vuNFkXfk15uFnGoVyHZ6PYQxppD3QqK": 1.5,
"22851477d63a085dbc2398c8430af1c09e7343f6": 0.1
}, "paymentProcessing": {
"enabled": true,
"paymentInterval": 30,
"minimumPayment": 0.01,
"daemon": {
"host": "10.10.1.202",
"port": 9998,
"user": "wei",
"password": "0123456789a"
}
}, "ports": {
"3008": {
"diff": 0.1
},
"3032": {
"diff": 32,
"varDiff": {
"minDiff": 8,
"maxDiff": 512,
"targetTime": 15,
"retargetTime": 90,
"variancePercent": 30
}
},
"3256": {
"diff": 256
}
}, "daemons": [
{
"host": "10.10.1.202",
"port": 9998,
"user": "wei",
"password": "0123456789a"
}
], "p2p": {
"enabled": false,
"host": "10.10.1.202",
"port": 8333,
"disableTransactions": true
}, "mposMode": {
"enabled": false,
"host": "127.0.0.1",
"port": 3306,
"user": "me",
"password": "mypass",
"database": "btc",
"checkPassword": false,
"autoCreateWorker": false
}
}

dash.json

其中第5行的address必须为有效的地址,第6行的daemon里分别填写的是钱包运行主机的IP地址,端口号,配置文件里的用户名和密码,如图所示

 {
"enabled": true,
"coin": "raven.json",
"address": "RVc3Pvo72yfzDoTqE6Z85YFXKKYgvDaoVa",
"rewardRecipients": {
"RQTE2qcKPCf1pVvBVcx9VLxSzx6ACyBoiB": 1
},
"paymentProcessing": {
"enabled": true,
"paymentInterval": 20,
"minimumPayment": 0.01,
"daemon": {
"host": "10.10.1.3",
"port": 8766,
"user": "ravend",
"password": "Ao3iceIpAo3icjsn392H3iceIp"
}
},
"ports": {
"8888": {
"tls":false,
"diff": 0.5,
"varDiff": {
"minDiff": 0.04,
"maxDiff": 16,
"targetTime": 15,
"retargetTime": 60,
"variancePercent": 30
}
},
"7777": {
"tls":false,
"diff": 0.5,
"varDiff": {
"minDiff": 0.04,
"maxDiff": 16,
"targetTime": 15,
"retargetTime": 60,
"variancePercent": 30
}
},
"9999": {
"tls":false,
"diff": 2.5,
"varDiff": {
"minDiff": 1.5,
"maxDiff": 16,
"targetTime": 15,
"retargetTime": 60,
"variancePercent": 30
}
}
},
"daemons": [
{
"host": "10.10.1.3",
"port": 8766,
"user": "ravend",
"password": "Ao3iceIpAo3icjsn392H3iceIp"
}
],
"p2p": {
"enabled": false,
"host": "127.0.0.1",
"port": 5889,
"disableTransactions": true
},
"mposMode": {
"enabled": false,
"host": "127.0.0.1",
"port": 3306,
"user": "me",
"password": "mypass",
"database": "vtc",
"checkPassword": true,
"autoCreateWorker": false
},
"mongoMode": {
"enabled": false,
"host": "127.0.0.1",
"user": "",
"pass": "",
"database": "vtc",
"authMechanism": "DEFAULT"
}
}

raven.json

Raven配置和Dash类似,钱包的配置文件内容如下

另外在coins目录下还需要准备两个币种的算法配置文件darkcoin.json和raven.json文件,内容如下:

 {
"name": "Darkcoin",
"symbol": "DRK",
"algorithm": "x11",
"mposDiffMultiplier": 256
}

darkcoin

 {
"name": "Raven",
"symbol": "RVN",
"algorithm": "x16rv2",
"txfee": 0.00005
}

raven

3 启动矿池并挖矿

运行如下命令启动矿池
sudo node init.js
矿池主界面如下所示

单击Getting Started可以看到该矿池支持Dash(Darkcoin)和Raven挖矿,再单击左侧的Raven可以看到x16rv2的stratum地址及端口,注意真正挖矿时需要用矿机部署的PC地址10.10.1.230替换cryppit.com

用开源代挖矿程序cpuminer-multi来验证搭建的矿池,编译后运行如下命令来进行挖矿
./cpuminer -a x16r -o stratum+tcp://10.10.1.230:7777 -u RVG96MbaKEDFzzj9NzbAuxkDt86KAm2Qj5 -p x -D -P -t 10
运行一段时间后可以看到后台软件相应的接收情况

矿池Graph Status显示如下

Dash挖矿验证过程类似,不再进行详细介绍。

原创文章转载请注明链接:https://www.cnblogs.com/zhaoweiwei/p/nomp.html

最新文章

  1. javascript对象创建方式
  2. javascript瀑布流布局效果
  3. 0010 Linux 目录操作命令
  4. weblogic 12c下jxls导出excel报错Could not initialize class org.apache.poi.xssf.usermodel.XSSFVMLDrawing
  5. [tools]google神器浏览器下载
  6. Android 不同文件名介绍
  7. 网站繁简切换的JS遇到的一个BUG
  8. bzoj 3876 [Ahoi2014]支线剧情(有上下界的最小费用流)
  9. hdu 3232 Crossing Rivers(期望 + 数学推导 + 分类讨论,水题不水)
  10. JavaScript提高:005:ASP.NET使用easyUI TABS标签显示问题
  11. Flex 弹性盒模型
  12. JVM笔记——技术点汇总
  13. Java 第十一周总结
  14. LR回放https协议脚本失败: 错误 -27778: 在尝试与主机“www.baidu.com”connect 时发生 SSL 协议错误
  15. python入门学习:2.列表简介
  16. nodeJs --- web服务器创建
  17. DLL的Export和Import及extern "C"
  18. uiautomator 代码记录 :BT接收测试
  19. vs2017调试浏览器闪退
  20. bzoj1345 序列问题 (贪心)

热门文章

  1. PiVot 用法
  2. 详细的App推广前的准备工作
  3. 年年有余之java求余的技巧集合
  4. oracle 11g 下载安装 使用记录
  5. 第八届蓝桥杯java b组第八题
  6. selenium-03-02操作元素-等待
  7. 词向量(one-hot/SVD/NNLM/Word2Vec/GloVe)
  8. Hadoop点滴-Hadoop的IO
  9. tomcat 配置jvm参数
  10. ELK 学习笔记之 elasticsearch Mget操作