门罗币:去中心化矿池(p2pool)挖矿

去中心化矿池,顾名思义,就是没有中心的矿池。加密货币火起来的“卖点”就是去中心化,但是矿池就是中心,掌握了绝大多数算力,有时候 2 个大矿池联合起来,就能做到51%攻击。其实很多加密货币在设计之初。确实是去中心化的,可是现在挖矿难度越来越高,矿工不得不聚在一起,这就成了中心。而去中心化矿池,在这种情况下诞生了。

门罗币的 p2pool 还处于发展初期,项目地址:https://github.com/SChernykh/p2pool,截至2022年1月,功能较少,安全性未知,但值得一试。

#编译 p2pool

sudo apt update && sudo apt install git build-essential cmake libuv1-dev libzmq3-dev libsodium-dev libpgm-dev libnorm-dev libgss-dev
git clone --recursive https://github.com/SChernykh/p2pool
cd p2pool
mkdir build && cd build
cmake ..
make -j$(nproc)

目前 p2pool 还很新,建议新建一个限制权限的用户运行 p2pool。

#在 p2pool 上挖矿

首先在内存里分配 Huge Pages 空间

sudo sysctl vm.nr_hugepages=3072

然后编译 xmrig 挖矿软件。

防火墙打开 18080(monerod连接端口) 和 37889(p2pool连接端口) 端口。

运行 monerod,如果你从我上一篇博客而来,记得进入 screen 停止 monerod,再用下面的命令运行 monerod。

monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist

新建一个screen,叫 p2p 好了,然后在 p2p screen 中,运行 p2pool。

screen -S p2p
./p2pool --host 127.0.0.1 --wallet [你的钱包地址] # 建议使用新生成的钱包地址,因为在 p2pool 里,钱包地址是公开的

p2pool 也需要更新一下数据,但是比 monerod 同步区块信息要快很多了,稍等片刻同步结束。

然后,运行 xmrig,开始挖矿。需要注意的是,下面这种方式运行,xmrig config 中的钱包地址就不起作用了,收益会进入上面 p2pool 的地址。

./xmrig -u x+50000 -o 127.0.0.1:3333 # 从难度50000开挖,根据自己的算力选择合适的难度

xmrig 可以使用 sudo 来运行,sudo 下可能有一些需要 root 权限的优化,提高算力,可以对比一下看看区别,尽量使用普通用户执行

p2pool 是 PPLNS 分配收益,没有 Share 就没有收益,换句话说,收益多少全看运气。我前 5 天的收益比在 supportxmr 上的 PPS 挖两个星期还多,但是接下来的几天一分钱也没有……

如果使用./p2pool --host 0.0.0.0 --wallet [地址]来运行 p2pool,并且开放 3333 端口,那么可以在一台机器上运行 p2pool,很多机器连这个 pool 挖矿,节约其他机器的存储空间。但是 p2pool 目前并不支持 tls 加密,所以在某些 ISP 下无法连接,比如我无法在学校的网络环境下裸连,换手机开热点才能连上。目前的解决方法,就是使用 xmrig-proxy