经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 其他 » 区块链 » 查看文章
NOMP矿池搭建
来源:cnblogs  作者:weiwei22844  时间:2019/10/28 12:24:36  对本文有异议

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

1 环境准备

1.1 准备Ubuntu

准备虚拟机或物理机,操作系统为Ubuntu 16.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内容如下

  1. 1 {
  2. 2 "logLevel": "debug",
  3. 3 "logColors": true,
  4. 4
  5. 5 "cliPort": 17117,
  6. 6
  7. 7 "clustering": {
  8. 8 "enabled": true,
  9. 9 "forks": "auto"
  10. 10 },
  11. 11
  12. 12 "defaultPoolConfigs": {
  13. 13 "blockRefreshInterval": 1000,
  14. 14 "jobRebroadcastTimeout": 55,
  15. 15 "connectionTimeout": 600,
  16. 16 "emitInvalidBlockHashes": false,
  17. 17 "validateWorkerUsername": true,
  18. 18 "tcpProxyProtocol": false,
  19. 19 "banning": {
  20. 20 "enabled": true,
  21. 21 "time": 600,
  22. 22 "invalidPercent": 50,
  23. 23 "checkThreshold": 500,
  24. 24 "purgeInterval": 300
  25. 25 },
  26. 26 "redis": {
  27. 27 "host": "127.0.0.1",
  28. 28 "port": 6379
  29. 29 }
  30. 30 },
  31. 31
  32. 32 "website": {
  33. 33 "enabled": true,
  34. 34 "host": "10.10.1.230",
  35. 35 "port": 8080,
  36. 36 "stratumHost": "cryppit.com",
  37. 37 "stats": {
  38. 38 "updateInterval": 60,
  39. 39 "historicalRetention": 43200,
  40. 40 "hashrateWindow": 300
  41. 41 },
  42. 42 "adminCenter": {
  43. 43 "enabled": false,
  44. 44 "password": "password"
  45. 45 }
  46. 46 },
  47. 47
  48. 48 "redis": {
  49. 49 "host": "127.0.0.1",
  50. 50 "port": 6379
  51. 51 },
  52. 52
  53. 53 "switching": {
  54. 54 "switch1": {
  55. 55 "enabled": false,
  56. 56 "algorithm": "sha256",
  57. 57 "ports": {
  58. 58 "3333": {
  59. 59 "diff": 10,
  60. 60 "varDiff": {
  61. 61 "minDiff": 16,
  62. 62 "maxDiff": 512,
  63. 63 "targetTime": 15,
  64. 64 "retargetTime": 90,
  65. 65 "variancePercent": 30
  66. 66 }
  67. 67 }
  68. 68 }
  69. 69 },
  70. 70 "switch2": {
  71. 71 "enabled": false,
  72. 72 "algorithm": "scrypt",
  73. 73 "ports": {
  74. 74 "4444": {
  75. 75 "diff": 10,
  76. 76 "varDiff": {
  77. 77 "minDiff": 16,
  78. 78 "maxDiff": 512,
  79. 79 "targetTime": 15,
  80. 80 "retargetTime": 90,
  81. 81 "variancePercent": 30
  82. 82 }
  83. 83 }
  84. 84 }
  85. 85 },
  86. 86 "switch3": {
  87. 87 "enabled": false,
  88. 88 "algorithm": "x11",
  89. 89 "ports": {
  90. 90 "5555": {
  91. 91 "diff": 0.001,
  92. 92 "varDiff": {
  93. 93 "minDiff": 0.001,
  94. 94 "maxDiff": 1,
  95. 95 "targetTime": 15,
  96. 96 "retargetTime": 60,
  97. 97 "variancePercent": 30
  98. 98 }
  99. 99 }
  100. 100 }
  101. 101 }
  102. 102 },
  103. 103
  104. 104 "profitSwitch": {
  105. 105 "enabled": false,
  106. 106 "updateInterval": 600,
  107. 107 "depth": 0.90,
  108. 108 "usePoloniex": true,
  109. 109 "useCryptsy": true,
  110. 110 "useMintpal": true,
  111. 111 "useBittrex": true
  112. 112 }
  113. 113 }
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
两个文件内容如下

  1. 1 {
  2. 2 "enabled": true,
  3. 3 "coin": "darkcoin.json",
  4. 4
  5. 5 "address": "Xz2J7ktmY7Zip3xvp2hrHLXeUN3bBL75QB",
  6. 6
  7. 7 "rewardRecipients": {
  8. 8 "n37vuNFkXfk15uFnGoVyHZ6PYQxppD3QqK": 1.5,
  9. 9 "22851477d63a085dbc2398c8430af1c09e7343f6": 0.1
  10. 10 },
  11. 11
  12. 12 "paymentProcessing": {
  13. 13 "enabled": true,
  14. 14 "paymentInterval": 30,
  15. 15 "minimumPayment": 0.01,
  16. 16 "daemon": {
  17. 17 "host": "10.10.1.202",
  18. 18 "port": 9998,
  19. 19 "user": "wei",
  20. 20 "password": "0123456789a"
  21. 21 }
  22. 22 },
  23. 23
  24. 24 "ports": {
  25. 25 "3008": {
  26. 26 "diff": 0.1
  27. 27 },
  28. 28 "3032": {
  29. 29 "diff": 32,
  30. 30 "varDiff": {
  31. 31 "minDiff": 8,
  32. 32 "maxDiff": 512,
  33. 33 "targetTime": 15,
  34. 34 "retargetTime": 90,
  35. 35 "variancePercent": 30
  36. 36 }
  37. 37 },
  38. 38 "3256": {
  39. 39 "diff": 256
  40. 40 }
  41. 41 },
  42. 42
  43. 43 "daemons": [
  44. 44 {
  45. 45 "host": "10.10.1.202",
  46. 46 "port": 9998,
  47. 47 "user": "wei",
  48. 48 "password": "0123456789a"
  49. 49 }
  50. 50 ],
  51. 51
  52. 52 "p2p": {
  53. 53 "enabled": false,
  54. 54 "host": "10.10.1.202",
  55. 55 "port": 8333,
  56. 56 "disableTransactions": true
  57. 57 },
  58. 58
  59. 59 "mposMode": {
  60. 60 "enabled": false,
  61. 61 "host": "127.0.0.1",
  62. 62 "port": 3306,
  63. 63 "user": "me",
  64. 64 "password": "mypass",
  65. 65 "database": "btc",
  66. 66 "checkPassword": false,
  67. 67 "autoCreateWorker": false
  68. 68 }
  69. 69 }
dash.json

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

  1. 1 {
  2. 2 "enabled": true,
  3. 3 "coin": "raven.json",
  4. 4 "address": "RVc3Pvo72yfzDoTqE6Z85YFXKKYgvDaoVa",
  5. 5 "rewardRecipients": {
  6. 6 "RQTE2qcKPCf1pVvBVcx9VLxSzx6ACyBoiB": 1
  7. 7 },
  8. 8 "paymentProcessing": {
  9. 9 "enabled": true,
  10. 10 "paymentInterval": 20,
  11. 11 "minimumPayment": 0.01,
  12. 12 "daemon": {
  13. 13 "host": "10.10.1.3",
  14. 14 "port": 8766,
  15. 15 "user": "ravend",
  16. 16 "password": "Ao3iceIpAo3icjsn392H3iceIp"
  17. 17 }
  18. 18 },
  19. 19 "ports": {
  20. 20 "8888": {
  21. 21 "tls":false,
  22. 22 "diff": 0.5,
  23. 23 "varDiff": {
  24. 24 "minDiff": 0.04,
  25. 25 "maxDiff": 16,
  26. 26 "targetTime": 15,
  27. 27 "retargetTime": 60,
  28. 28 "variancePercent": 30
  29. 29 }
  30. 30 },
  31. 31 "7777": {
  32. 32 "tls":false,
  33. 33 "diff": 0.5,
  34. 34 "varDiff": {
  35. 35 "minDiff": 0.04,
  36. 36 "maxDiff": 16,
  37. 37 "targetTime": 15,
  38. 38 "retargetTime": 60,
  39. 39 "variancePercent": 30
  40. 40 }
  41. 41 },
  42. 42 "9999": {
  43. 43 "tls":false,
  44. 44 "diff": 2.5,
  45. 45 "varDiff": {
  46. 46 "minDiff": 1.5,
  47. 47 "maxDiff": 16,
  48. 48 "targetTime": 15,
  49. 49 "retargetTime": 60,
  50. 50 "variancePercent": 30
  51. 51 }
  52. 52 }
  53. 53 },
  54. 54 "daemons": [
  55. 55 {
  56. 56 "host": "10.10.1.3",
  57. 57 "port": 8766,
  58. 58 "user": "ravend",
  59. 59 "password": "Ao3iceIpAo3icjsn392H3iceIp"
  60. 60 }
  61. 61 ],
  62. 62 "p2p": {
  63. 63 "enabled": false,
  64. 64 "host": "127.0.0.1",
  65. 65 "port": 5889,
  66. 66 "disableTransactions": true
  67. 67 },
  68. 68 "mposMode": {
  69. 69 "enabled": false,
  70. 70 "host": "127.0.0.1",
  71. 71 "port": 3306,
  72. 72 "user": "me",
  73. 73 "password": "mypass",
  74. 74 "database": "vtc",
  75. 75 "checkPassword": true,
  76. 76 "autoCreateWorker": false
  77. 77 },
  78. 78 "mongoMode": {
  79. 79 "enabled": false,
  80. 80 "host": "127.0.0.1",
  81. 81 "user": "",
  82. 82 "pass": "",
  83. 83 "database": "vtc",
  84. 84 "authMechanism": "DEFAULT"
  85. 85 }
  86. 86 }
raven.json

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

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

  1. 1 {
  2. 2 "name": "Darkcoin",
  3. 3 "symbol": "DRK",
  4. 4 "algorithm": "x11",
  5. 5 "mposDiffMultiplier": 256
  6. 6 }
darkcoin
  1. 1 {
  2. 2 "name": "Raven",
  3. 3 "symbol": "RVN",
  4. 4 "algorithm": "x16rv2",
  5. 5 "txfee": 0.00005
  6. 6 }
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挖矿验证过程类似,不再进行详细介绍。

原文链接:http://www.cnblogs.com/zhaoweiwei/p/nomp.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号