本文将以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矿池搭建的更多相关文章

  1. YIIMP矿池搭建

    本文将以Verge(x17)和Raven(x16rv2)为例子来说明多算法矿池YIIMP的搭建过程. 1 环境准备 1.1 准备Ubuntu 准备虚拟机或物理机,操作系统为Ubuntu 18.04,之 ...

  2. Python实现矿池

    自建P2POOL矿池详细教程(高级篇)http://8btc.com/article-1804-1.html p2pool比特币矿池教程综合篇(包含linux矿池教程)https://www.cybt ...

  3. Bytom矿池接入协议指南

    矿机配置 https://gist.github.com/HAOYUatHZ/a47400bde4a138825faef415387b532c 固件升级 https://service.bitmain ...

  4. unomp 矿池运行问题随记

    经过大量的实践,遇到的问题或经验如下: 1.单机运行多矿池时,单机CPU核心数 成为性能瓶颈,运行两个月后,有部分用户反映 矿机速率只有以前的一半. 2.Dash 等可以自行报块的矿池,每个块的股份比 ...

  5. IPFS矿池集群方案详解

    IPFS作为一项分布式存储技术,可以说是web3.0发展的基石.关于IPFS的产业,如存储.技术.矿机.矿池等也发展得非常迅速. 什么是单机挖矿? 单机挖矿就是一台机器就是一个节点,一台机器就完成挖矿 ...

  6. Proxypool代理池搭建

    个人博客:点我 前言 项目地址 : https://github.com/jhao104/proxy_pool 这个项目是github上一个大佬基于python爬虫制作的定时获取免费可用代理并入池的代 ...

  7. 致 BitClub 矿池,你们为什么要对比特币网络发动交易延展性攻击?

    原文:https://medium.com/@bithernet/bitclub-why-are-you-doing-malleability-attack-now-6faa194b2146#.v4y ...

  8. python爬虫redis-ip代理池搭建几十万的ip数据--可以使用

    from bs4 import BeautifulSoupimport requests,os,sys,time,random,redisfrom lxml import etreeconn = re ...

  9. 安装 primecoin 矿池

    壹.安装 boost_1_49_0. 一.官网下载:https://www.boost.org/users/download/ 前期准备:boost中,用到了别的函数库,所以为了使用boost中相应的 ...

随机推荐

  1. WordCount程序【Spark Streaming版本】

    ~~ 前置 ~~ Spark Streaming 常常对接 :本地文件.HDFS.端口.flume.kafka package february.streaming import org.apache ...

  2. python连接数据库查询

    import sqlite3 as db conn = db.connect(r'D:/data/test.db') print ('Opend database successfully \n') ...

  3. 【SQL server】SQL Server 触发器

    触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程.触发器主要是通过事件进行触发被自动调用执行的.而存储过程可以通过存储过程的名称被调用. Ø 什么是触发器 触发器对表进行插入.更新.删 ...

  4. SOFAJRaft—初次使用

    SOFAJRaft-初次使用 SOFAJRaft 是基于 Raft 算法的生产级高性能 Java 实现,支持 MULTI-RAFT-GROUP.应用场景有 Leader 选举.分布式锁服务.高可靠的元 ...

  5. webpack原理

    webpack早就已经在前端领域大放异彩,会使用和优化webpack也已经是中.高级工程师必备技能,在此基础之上再对webpack的原理进行理解和掌握,必定会在未来的开发中事半功倍.若是对于webpa ...

  6. [数学基础]奇异值分解SVD

    之前看到过很多次奇异值分解这个概念,但我确实没有学过.大学线性代数课教的就是坨屎,我也没怎么去上课,后来查了点资料算是搞清楚了,现在写点东西总结一下. 奇异值分解,就是把一个矩阵拆成一组矩阵之和.在数 ...

  7. ThinkPHP5 支付宝 电脑与手机支付扩展库

    ThinkPHP5 电脑与手机支付扩展库(2017年9月18日) 使用说明 在默认配置情况下,将文件夹拷贝到根目录即可, 其中extend目录为支付扩展目录, application\extra\al ...

  8. spring5 源码深度解析----- 创建AOP代理之获取增强器

    在上一篇的博文中我们讲解了通过自定义配置完成了对AnnotationAwareAspectJAutoProxyCreator类型的自动注册,那么这个类到底做了什么工作来完成AOP的操作呢?首先我们看看 ...

  9. [UWP] 解决FlipView图片放大的诡异bug

    想要实现图片的放大缩小可以通过在Image外面套一个ScrollViewer,然后设置ScrollViewer的ZoomMode="Enabled" <FlipView It ...

  10. [Java web] JSP 内置对象

    1. Application 服务器启动后产生,所有用户共用一个Application,可以往里面存一些键值对 2. Session 会话对象,第一个JSP页面被装载时自动创建.从一个客户打开浏览器并 ...