panjr 发表于 2017-12-24 16:37:13

让你手上的低算力机器也利用起来!矿池代理搭建教程

本帖最后由 panjr 于 2018-1-8 19:52 编辑

本文将介绍xmr-node-proxy的适用场景、工作原理、搭建方法、缺点和常见问题解答

一、适用场景
        我们知道,为了降低矿池服务器的负载,一般来说矿池不会把挖矿难度调得太低,意思是一个job发给你的矿工,如果太简单了,矿工马上算出来又要再向矿池请求新的job,大量的并发请求是矿池不希望出现的,比如说supportxmr认为如果你有超过10个矿工,那么你就需要用proxy了,不用的话… 参照Vicer大佬的前车之鉴…
        http://hostloc.wiki/forum.php?mod=viewthread&tid=416309
        但是挖矿难度太高,矿工很久都算不出来,相当于白白浪费了这些算力,xmr-node-proxy尤其适用于有大量低算力的矿工,希望降低挖矿难度的用户。如果你看到日志中有大量的New block detect 而很少Result accepted by the pool甚至有很多Result rejected by the pool,你就很需要这个proxy了
       
        简而言之,xmr-node-proxy适合下面的场景:
        1.你有超过10台的机器,或者矿池认为你的机器太多,你需要降低和矿池的链接数
        2.你的机器算力太低,或者矿池的难度太高,你需要把难度降下来
        3.你不想矿池知道你的矿工的IP,进一步提高匿名性
        4.你需要经常换矿池,那么你只需要调整proxy向哪个矿池提交即可,不用一个个矿工去调整
        5.你的矿工与矿池网络连接情况不太好,需要用proxy中转

目前适配的矿池有


XMRPool.net                        https://xmrpool.net/
supportXMR.com                https://supportxmr.com
pool.xmr.pt                       
minemonero.pro                https://monero.hashvault.pro/
XMRPool.xyz                        https://xmrpool.xyz/
ViaXMR.com                        https://www.viaxmr.com/
mine.MoneroPRO.com       
MinerCircle.com                https://www.minercircle.com/
xmr.p00ls.net
MoriaXMR.com                https://moriaxmr.com/
MoneroOcean.stream        https://moneroocean.stream/
SECUmine.net                https://secumine.net/
chinaenter.cn                http://xmr.chinaenter.cn/



PS:最后这个Chinaenter支持PPS模式挖矿,也是中国服务器,有兴趣的大佬可以试一下,但是我还是留在supportxmr了
PPS:关于PPS和PPLNS这两种挖矿模式,理论上说,长期的挖下去的话,两者的收益应该是一模一样的,大家也不用太纠结

二、工作原理
        代理的作用是,把矿池很高难度的job拆分成低难度的job分发给低算力的矿工,这样低算力的矿工能拿到低难度的job,他的算力就有效了,对矿池来说,他也只从代理里接受结果,也减少了矿池服务器的压力

三、搭建方法
        下面我在一台用Vicer大佬的重装脚本重装了Ubuntu 16.04 x64的香港腾讯云1H1M小鸡上搭建,其他环境没有作测试,欢迎补充

        首先用root密码登录,安装curl
        apt install -y curl
       
        添加一个新的用户
useradd -d /home/nodeproxy -m -s /bin/bash nodeproxy
passwd nodeproxy

        nodeproxy是我新建的用户名,输入passwd nodeproxy后输入两遍新用户的密码即可

        添加新用户到 /etc/sudoers
        echo "nodeproxy ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
       
        切换到新用户
        su - nodeproxy

        使用xmr-node-proxy提供的脚本开始安装
        curl -L https://raw.githubusercontent.com/Snipa22/xmr-node-proxy/master/install.sh | bash
        安装完成后,你应该已经进入了pm2环境,按一下回车回到bash

        source ~/.bashrc

        然后可以编辑设置文件

        cd xmr-node-proxy
vi config.json

        下面是我目前使用的配置
        {
"pools": [
    {
      "hostname": "pool.supportxmr.com",
      "port": 7777,
      "ssl": false,
      "allowSelfSignedSSL": false,
      "share": 100,
      "username": "47mF1Jkh1QmFBQcgTVX9ZraoLTmRcJ3aqH3UuRMEobNkR5N1mU83m9E3EDLmEHKT18jLhnPaYWvaJVcCp7qHEzke7jLfJKo",
      "password": "x",
      "keepAlive": true,
      "coin": "xmr",
      "default": true
    }
],
"listeningPorts": [
    {
      "port": 8080,
      "ssl": false,
      "diff": 1,
      "coin": "xmr"
    },
        {
      "port": 8081,
      "ssl": false,
      "diff": 250,
      "coin": "xmr"
    },
        {
      "port": 8082,
      "ssl": false,
      "diff": 500,
      "coin": "xmr"
    }
],
"bindAddress": "0.0.0.0",
"developerShare": 0,
"daemonAddress": "127.0.0.1:18081",
"coinSettings": {
    "xmr":{
      "minDiff": 1,
      "maxDiff": 300000,
      "shareTargetTime": 1
    }
}
}


        这里我使用的是supportxmr矿池,使用他的最高难度端口7777,username和password就是你的钱包地址和相应的密码
        listeningports这里的port就是代理的端口
        diff是你代理的起始难度,因为我手上的很多矿工确实算力很低,所以我调到了1,因为难度是动态调整的,所以对高算力的机器过一段时间后就可以自动把难度提高,不用担心难度过低的问题。
        coinSettings这里maxDiff就是你允许的最高难度,设一个足够大的值就可以了,因为你永远都不会达到这个值得…
        shareTargetTime是平均多长时间矿工向你的代理提交share,这个越小,矿工和代理之间的请求越频繁,我的机器比较少,和香港的网络情况也很好,所以就调低了,其实调高一点有助于减轻代理服务器的负载,官方的默认值是15。
        developerShare是捐赠给开发者的部分,大家凭良心,多少贡献一点吧

        设置后config.json之后,就可以启动代理了
cd ~/xmr-node-proxy/
pm2 start proxy.js --name=proxy --log-date-format="YYYY-MM-DD HH:mm Z"
pm2 save

        启动之后可以输入
        pm2 logs proxy
        查看代理的运行情况

        然后只需要你把矿工的配置文件中的矿池地址换成你的代理地址就可以了
        我实测46台10H/s的矿工本来完全提交不上算力,现在都可以流畅的满负载运行啦

四、缺点
        因为proxy的作用是把很多个矿工合为一个,算力一起输入到矿池,所以没有办法看到每个矿工的工作状态,你只能登录机器自己查看了,对关心矿工工作状态的人不太友好

五、常见问题
        1.config.json更改后怎么重新启动代理呢?
        首先把proxy停止
        pm2 delete proxy
       
        然后再启动proxy
cd ~/xmr-node-proxy/
pm2 start proxy.js --name=proxy --log-date-format="YYYY-MM-DD HH:mm Z"
pm2 save

        2.proxy对机器性能影响大吗?
        以我安装proxy的这台1H1G1M的腾讯云香港来举例,稳定运行48小时了,46个矿工,平均一秒提交一次share,CPU平均占用7%,内存平均占用20%,网络上行10KB/s,下行30KB/s,磁盘读写基本为0,可见proxy对机器的性能影响几乎可以忽略不计。事实上,我尝试了在运行proxy的同时挖矿,CPU占满,对proxy一定影响都没有。

        3.反复出现Result rejected by the pool / Duplicate share/Invalid Shares
        你的起始难度太低了,请增加一点。
       
        4.为什么不使用xmrig-proxy/xmr-proxy ?
        本文使用的xmr-node-proxy是目前唯一可以降低矿工使用的难度的代理,如果你只需要减少与矿池链接数而不需要降低难度,那可以选择xmrig-proxy/xmr-proxy

        如果这篇文章对你有帮助,欢迎你请我喝杯咖啡!
        我的门罗币地址是
        47mF1Jkh1QmFBQcgTVX9ZraoLTmRcJ3aqH3UuRMEobNkR5N1mU83m9E3EDLmEHKT18jLhnPaYWvaJVcCp7qHEzke7jLfJKo
        门罗币的二维码:
        https://i.loli.net/2017/12/24/5a3f64c35ec30.png

        微信支付宝也行!
        https://i.loli.net/2017/12/24/5a3f64c361d50.jpg
        https://i.loli.net/2017/12/24/5a3f64c36243d.jpg


        如果你有任何问题,欢迎在下面留言或者TG我询问
        https://t.me/juzai123
       
       

panjr 发表于 2017-12-24 22:35:40

本帖最后由 panjr 于 2017-12-25 11:38 编辑

920c 发表于 2017-12-24 21:50
我推荐都是XMRig-Proxy,这个效果比较好

xmr-node-proxy是目前唯一可以降低矿工使用的算力的代理,如果你只需要减少与矿池链接数而不需要降低算力,那可以选择xmrig-proxy


如果你有很多Duplicate share 或者result rejected by the pool 或者 Invalid Shares 是因为你的起始难度太低了,请你调高一点,好在proxy有完整的shares有效性认证,这些不合规的shares不会被提交到矿池,也避免了你被矿池block
比如我有500算力的机器就可以用我的8081端口,起始难度250

但是理论上说proxy是不可能降低你的挖矿算力的,如果你确实有这个情况,可以把高算力的矿工直连矿池,低算力的矿工连proxy

920c 发表于 2017-12-24 21:50:56

我推荐都是XMRig-Proxy,这个效果比较好

paydot 发表于 2017-12-24 18:57:58

雷电法王杨永信 发表于 2017-12-24 19:31:58

Mark

houset 发表于 2017-12-24 23:24:22

大佬又把mjj们带入了挖坑新高度,全球挖坑论坛...

ajun59420 发表于 2017-12-25 08:21:04

顶,技术贴

janfou 发表于 2017-12-28 17:11:50

全部看完,受用百倍,感谢感谢。


只是有个关键词需要大佬帮忙定义,
低算力,是在哪个幅度什么范围?

panjr 发表于 2017-12-28 17:41:10

janfou 发表于 2017-12-28 17:11
全部看完,受用百倍,感谢感谢。




这个是和你矿池的难度相关的   具体来说 我觉得如果你看到日志中有大量的New block detect 而很少Result accepted by the pool甚至有很多Result rejected by the pool    那么你这个矿工对于矿池的这个算力就是低的

341619932 发表于 2017-12-28 17:42:46

厉害,学习了
页: [1] 2
查看完整版本: 让你手上的低算力机器也利用起来!矿池代理搭建教程