NOMP矿池搭建
本文将以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
NOMP矿池搭建的更多相关文章
- YIIMP矿池搭建
本文将以Verge(x17)和Raven(x16rv2)为例子来说明多算法矿池YIIMP的搭建过程. 1 环境准备 1.1 准备Ubuntu 准备虚拟机或物理机,操作系统为Ubuntu 18.04,之 ...
- Python实现矿池
自建P2POOL矿池详细教程(高级篇)http://8btc.com/article-1804-1.html p2pool比特币矿池教程综合篇(包含linux矿池教程)https://www.cybt ...
- Bytom矿池接入协议指南
矿机配置 https://gist.github.com/HAOYUatHZ/a47400bde4a138825faef415387b532c 固件升级 https://service.bitmain ...
- unomp 矿池运行问题随记
经过大量的实践,遇到的问题或经验如下: 1.单机运行多矿池时,单机CPU核心数 成为性能瓶颈,运行两个月后,有部分用户反映 矿机速率只有以前的一半. 2.Dash 等可以自行报块的矿池,每个块的股份比 ...
- IPFS矿池集群方案详解
IPFS作为一项分布式存储技术,可以说是web3.0发展的基石.关于IPFS的产业,如存储.技术.矿机.矿池等也发展得非常迅速. 什么是单机挖矿? 单机挖矿就是一台机器就是一个节点,一台机器就完成挖矿 ...
- Proxypool代理池搭建
个人博客:点我 前言 项目地址 : https://github.com/jhao104/proxy_pool 这个项目是github上一个大佬基于python爬虫制作的定时获取免费可用代理并入池的代 ...
- 致 BitClub 矿池,你们为什么要对比特币网络发动交易延展性攻击?
原文:https://medium.com/@bithernet/bitclub-why-are-you-doing-malleability-attack-now-6faa194b2146#.v4y ...
- python爬虫redis-ip代理池搭建几十万的ip数据--可以使用
from bs4 import BeautifulSoupimport requests,os,sys,time,random,redisfrom lxml import etreeconn = re ...
- 安装 primecoin 矿池
壹.安装 boost_1_49_0. 一.官网下载:https://www.boost.org/users/download/ 前期准备:boost中,用到了别的函数库,所以为了使用boost中相应的 ...
随机推荐
- SpringBoot整合Nacos注册中心
#### 什么是Nacos Nacos 是阿里巴巴的开源的项目,Nacos致力于帮助您发现.配置和管理微服务.Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流 ...
- 在vue项目中使用less
1.安装 less 和 less-loader. 命令: npm install less less-loader --save-dev 2.打开 build/webpack.ba ...
- mybatis-generator生成数据对象
mybatis-generator生成数据对象 步骤一:在pom文件中添加build的插件 <build> <finalName>doudou</finalName> ...
- asp.net core 使用Mysql和Dapper
序曲:学习编程最好的方式就是敲代码,没有比这个更好的方法,哪怕你看了上百G的视频,都不如你自己敲几行代码更为有效.还有要记得敲完代码然后写一篇随笔来记录一下你所学所想. 大家都知道,.netcore是 ...
- 使用 chart 部署 skywalking
使用 chart 部署 skywalking 本文主要讲述的是如何使用 Helm Charts 将 SkyWalking 部署到 Kubernetes 集群中,相关文档可以参考skywalking-k ...
- PHP--网络协议相关知识
HTTP状态码 HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码. HTTP状态码主要有5种,代表5种不同类型的响应: 1xx:信息性状态码,代表接 ...
- 【译】微软的Python入门教程(一)
Getting started with Python(Python入门) Overview 概述 The series of videos on Channel 9 is designed to h ...
- JVM(一)内存分配
方法区: ①存储被虚拟机加载的类信息.常量.静态变量.即时编译器编译后的代码数据 ②又称为永久代,仅对于Hotspot来讲,JRockit和IBM J9里面没有永久代的概念,1.8以后是元空间,直接使 ...
- 洛谷NOIp热身赛 T2123 数列游戏
题目背景 此题为改编题,特别鸣谢倪星宇同学. 有一次,HKE和LJC在玩一个游戏. 题目描述 游戏的规则是这样的:LJC在纸上写下两个长度均为N的数列A和B,两个数列一一对应.HKE每次可以找两个相邻 ...
- 【源码解析】凭什么?spring boot 一个 jar 就能开发 web 项目
问题 为什么开发web项目,spring-boot-starter-web 一个jar就搞定了?这个jar做了什么? 通过 spring-boot 工程可以看到所有开箱即用的的引导模块 spring- ...