之前看过几篇0抽水的文章,用上了,忘记备份了,现在被某乎删除了,只好用网页镜像记录下,防止丢失。
粗略版
下载源代码
git clone https://github.com/xmrig/xmrig.git
安装msys2
MSYS2:MSYS2 homepage
我这里装的是64位的。
直接下载不了可以通过使用迅雷进行下载。
下载依赖包
依赖包:xmrig-deps
解压,放到某目录
使用 mingw64.exe shell. 安装必备的 MSYS2 包:
pacman -Sy
pacman -S mingw-w64-x86_64-gcc
pacman -S make
pacman -S mingw-w64-x86_64-cmake
pacman -S mingw-w64-x86_64-pkg-config
会提示出错,再次运行会提示“错误:无法同步任何数据库”。
出现错误的原因是,之前同步的时候,我手动中断了进程,导致之前进程锁文件未被释放。
解决办法,删掉之前的文件: /var/lib/pacman/db.lck
删除之后,恢复了。
更换软件源
可以从这里直接复制:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
编译
CMake build:
mkdir build
cd build
cmake .. -G "Unix Makefiles" -DXMRIG_DEPS=c:/xmrig-deps/gcc/x64
make
编译成功,运行看看:
费率5%,开始我们的手术吧!
修改源代码
找到根目录下的donate.h
constexpr const int kDefaultDonateLevel = 5;
constexpr const int kMinimumDonateLevel = 1;
修改为:
constexpr const int kDefaultDonateLevel = 0;
constexpr const int kMinimumDonateLevel = 0;
再次编译
打开“MSYS2 MinGW 64-bit”执行如下命令:
make
成功,再次执行结果如下,费率为0:
大工告成。。。。
转自:https://zhuanlan.zhihu.com/p/100083701
转自:http://www.zhushiyao.com/?p=62618
粗略版2
通过修改源代码去除XMRig抽水的方法
记录一次编程学习理解源码的经历。
xmrig软件抽水最低为1%,如果在config配置文件中改成0%,就会恢复到默认的1%。若要完全去除抽水,只能修改源代码。以6.14.1为示例,其余版本均适用。
操作系统:Windows10
所需工具:
VS2019:Visual Studio 2019
cmake:CMake
xmrig依赖包(最新版为1.41.0):https://http://github.com/xmrig/xmrig-deps
xmrig-6.14.1源代码:Releases · xmrig/xmrig
xmrig-6.14.1现成版:Releases · xmrig/xmrig
安装好上述软件,解压三个压缩包(下面以E盘根目录为例)。
解压现成版的时候杀毒软件会报毒,记得恢复exe文件并加入信任区。
一、生成.sln文件
- 打开适用于vs2019的64位本机工具命令提示:
-
进入之前已经解压在E盘根目录的源代码目录xmrig-6.14.1,建立build文件夹,再cd到build文件夹。
e:
cd xmrig-6.14.1
mkdir build
cd build
- 根据依赖包xmrig-deps-masters中README的提示,输入如下代码:
cmake .. -G "Visual Studio 16 2019" -A x64 -DXMRIG_DEPS=E:\xmrig-deps-master\msvc2019\x64
提示配置完成,在xmrig-6.14.1/build文件中会生成xmrig.sln文件,接下来就可以进行编译了。
二、使用vs2019编辑源码
- 用vs2019打开xmrig.sln,在右侧解决方案资源管理器中搜索donate,进入donate.h文件。
-
将默认捐献比例和最低捐献比例都调至0%,即可实现0抽水。
- 生成Release文件:先调至Release模式,再点击生成xmrig。等待编译好以后可以在E:\xmrig-6.14.1\build\Release文件夹中找到xmrig.exe。
这一步exe文件生成出来之后杀毒软件会报毒,记得要从隔离区恢复。最好把xmrig存在的地方都添加至信任区。
三、替换原文件,测试效果
- 将刚才Release生成的xmrig.exe复制到现成版的文件夹E:\xmrig-6.14.1-msvc-win64\xmrig-6.14.1,替换原文件。
- 修改config.json配置文件,将捐赠(抽水)比例"donate-level"改成0,正确填写你的钱包地址和矿池地址。
- 打开xmrig.exe,可以看到DONATE显示红色的0%,大功告成!
详细版
请注意:官网中提供的矿机程序是有抽水的,抽水比例为1-99,也就是说你挖矿100份的收益,要分给官方1-99份,抽水在矿机的配置文件中可以设置,最低为1,即使你设置为0,它也会默认改成1。
辛辛苦苦挖矿,却要被官方强行抽水1份,心里一定很不爽,那怎么才能实现0抽水挖矿呢?下面就教大家自己利用源代码自己编译门罗币矿机。
我们主要讲解两个编译平台:windows和linux,macOS由于使用的人不多,且苹果机是贵族机器,又贵性能又低下,用来挖矿实在不合适,也就不介绍了。
首先需要说明的是,你在windows平台编译出来的矿机,是可以在win7,win8,win10等windows机器中无障碍运行的,而你在linux平台中编译出来的矿机,同样也可以在linux平台中无障碍运行。
官方最新版6.15.0,这个版本增加了一种新的算法RandomX Graft (rx/graft),增加了自动数字货币检测等功能。
windows 64位环境编译矿机
环境说明:
随便win7、win10,只要是64位机器即可。
- 下载并安装windows版的cmake.exe和git,git的安装就不介绍了,很简单请自行百度,下面主要介绍cmake的安装。
官网地址:Download | CMake
可以下载版本为:cmake-3.21.1-windows-x86_64.zip,然后将它解压到c盘的一个目录,比如我这里的目录为C:\cmake-3.21.1-windows-x86_64,目录结构如下图:
-
建立一个门罗币矿机编译目录,把预编译依赖文件和门罗币源代码全都放置在这个目录下,比如我这里的目录是E:\moneroCompileEnv
-
安装预编译支持文件
在E:\moneroCompileEnv目录下执行git clone https://github.com/xmrig/xmrig-deps.git
,这样预编译支持文件就下载好了,目录结构如下图:
之后有MSYS2和Microsoft Visual Studio 2019两种编译方式,我们选择MSYS2的方式,因为VS2019很大很笨重,我们选择更为轻便的编译方式。
- 官网下载并安装MSYS2,地址:msys2安装方法不难,详细请参考官网。
-
安装好MSYS2以后,在其控制台执行如下命令,主要是一些初始化操作:
pacman -Syu #更新基础包和安装包库
pacman -Su #更新剩余基础包
pacman -S mingw-w64-x86_64-gcc git make #安装gcc,git,make
之后注意,一定要关闭控制台,否则后面编译可能会出错。
- “开始”菜单运行“MSYS MinGW 64 位”,之后出现MSY2控制台,然后在控制台下执行如下命令:
(1). cd E:\moneroCompileEnv #我们把xmrig-deps和xmrig都放在此目录下
(2).下载矿机源码:git clone https://github.com/xmrig/xmrig.git
下载好以后,xmrig就在E:\moneroCompileEnv目录下了,如下图:
(3).修改源代码为0抽水
修改E:\moneroCompileEnv\xmrig\src目录下的donate.h文件,将kDefaultDonateLevel和kMinimumDonateLevel都改成0即可。
https://pic3.zhimg.com/80/v2-07d57037ef9f5646979c67cb55fdbada_720w.jpg
如果不放心,还可以再修改捐赠代理域,E:\moneroCompileEnv\xmrig\src\net\strategies目录下的DonateStrategy.cpp文件,将kDonateHost和kDonateHostTls改成你自己的代理域即可,这样捐赠也是给自己。
(4).在xmrig目录下创建build文件夹并进入
mkdir xmrig\\build && cd xmrig\\build
注意:是\,单\可能出错。
(5).利用cmake.exe生成makefile
"C:\cmake-3.21.1-windows-x86_64\bin\cmake.exe" .. -G "Unix Makefiles" -DXMRIG_DEPS=E:\\moneroCompileEnv\\xmrig-deps\\gcc\\x64
说明:
"C:\cmake-3.21.1-windows-x86_64\bin\cmake.exe"是你的cmake.exe安装位置,如果和我不一样,请设置正确,双引号不要去掉。
DXMRIG_DEPS=设置预编译依赖位置,如果和我不一样,请设置你自己的,注意要用双\,单\可能出错。
(6).开始编译
make -j$(nproc)
7.等待编译完成以后,在E:\moneroCompileEnv\xmrig\build目录下会生成全套的矿机程序,除了配置文件一应俱全,生成文件如下:
benchmark_1M.cmd #这是benchmark测试命令,挖矿用不上
benchmark_10M.cmd #同上
libxmrig-asm.a #这是静态依赖库,exe文件放同目录下
pool_mine_example.cmd #这是例子启动命令,可以不用
solo_mine_example.cmd #同上
WinRing0x64.sys #这是依赖库,和exe文件放同目录下
xmrig.exe #这是矿机程序,可以直接双击启动
config.json #不是自动生成的,官方源码会有,或者用我提供的
8.配置并运行自己的矿机
将第7步所有文件放在一个文件夹下,比如xmrig文件夹下,然后使用nodepad++打开config.json文件,并编辑如下内容:
url设置矿池域名+端口,如pool.hashvault.pro:3333
user设置你自己的门罗币钱包地址,如48edfHu7V9Z84YzzMa6fUueoELZ9ZRXq9VetWzYGzKt52XU5xvqgzYnDK9URnRoJMk1j8nLwEVsaSWJ4fhdUyZijBGUicoD
pass设置你的矿机的名字,如menluo123
donate-level和donate-over-proxy设置为0,这样就不抽水了。
设置好以后保存config.json,然后双击运行xmrig.exe即可开始挖矿赚钱,注意此时DONATE为0%,没有抽水了。
关于CPU使用率的设置
用nodepad++打开config.json文件,并编辑如下内容:
以16核电脑为例,每个核心编号是0,1,2,3...,14,15,总共16个核心,如果想设置50%的CPU使用率,则设置"rx": [0, 2, 4, 6, 8, 10, 12, 14],这样编号为双号的核心就全速工作了,剩下的8个单号核心闲置,如果想设置6个核心工作,则设置设置"rx": [0, 2, 4, 6, 8, 10]。
即在rx数组中,设置哪个核心编号,哪个核心就会工作,未设置的核心不参与。
ubuntu 64位环境编译矿机
环境说明:
这里选用ubuntu 1604的64位版,当然1804和2004也是可以的,但官方建议为1604。
linux环境下有两种编译方法,一种是基本构建,另外一种是高级构建。
基本构建出来的矿机程序只能运行在本地的linux系统中,拿到其他linux系统可能会无法运行,而高级构建出来的矿机程序,可以在所有linux系统上运行。
基本构建:
- 安装所有依赖
sudo apt-get install git build-essential cmake libuv1-dev libssl-dev libhwloc-dev
-
克隆代码
git clone https://github.com/xmrig/xmrig.git
-
修改代码为无抽水,请参考windows版本中的代码修改介绍。
-
在xmrig目录中构建build目录,并cd到它。
mkdir xmrig/build && cd xmrig/build
-
运行cmake程序自动生成编译所需的makefile文件
cmake ..
-
运行make开始编译
make -j$(nproc)
-
编译完成后,在build文件夹下会生成xmrig可执行程序。
-
将xmrig和config.json两个文件放在一个文件夹下,然后配置config.json,配置方法请参考windows版。
-
配置完成后,给xmrig可执行权限并运行,就可以正常挖矿了。
sudo chmod +x xmrig
./xmrig
高级构建:
- 安装所有依赖
sudo apt-get install git build-essential cmake automake libtool autoconf
-
克隆代码
git clone https://github.com/xmrig/xmrig.git
-
为xmrig创建build文件夹,然后cd到xmrig/scripts,因为高级构建需要使用官方脚本。
mkdir xmrig/build && cd xmrig/scripts
-
运行官方构建脚本,生成预编译文件
./build_deps.sh && cd ../build
-
使用cmake自动生成编译所需要的makefile文件
cmake .. -DXMRIG_DEPS=scripts/deps
-
执行make开始编译,等待编译完成
make -j$(nproc)
-
配置和部署矿机程序,请参考基本配置中的介绍即可。
转自:https://zhuanlan.zhihu.com/p/401843988