如何用黑苹果机挖矿

in ethminer •  7 years ago 

本文由币乎社区(bihu.com)内容支持计划奖励。

买了一块 AMD RX 580 显卡, 展开了我 Mac 的挖矿之旅。

RX580

Mac 和 windows

因为 windows 下安装一个软件常常会莫名装上很多其它没用的软件,木马、病毒也多得要死,经常不小心就中招,造成系统运行速度极慢、不稳定。所以我不太习惯用 windows 操作系统。在家可以用 imac, 但在单位没有办法,总不能让老板买个 imac 吧,只好自己配置了兼容机,安装上 MAC OS X 操作系统,平常就用黑苹果了。

Mac 下显卡安装

开机箱,插好板,接下来就是驱动问题,还好现在 Mac 已经支持 AMD RX 580 显卡了,所以安装显卡驱动还比较容易,简单点就用 CLOVER configurator 软件来配置下 CLOVER config.plist ,在 Graphics 中把 Inject ATI, RadeonDeInit 这两项打勾重启就可以了。

初步挖矿

  1. 此下载 ethminer, 选择 Darwin 下载。

  2. 显卡检测

下载后可以使用 --list-devices 列出系统中的显卡

$ ./ethminer -G --list-devices

Listing OpenCL devices.
FORMAT: [platformID] [deviceID] deviceName
[0] [0] Iris Pro
    CL_DEVICE_TYPE: GPU
    CL_DEVICE_GLOBAL_MEM_SIZE: 1610612736
    CL_DEVICE_MAX_MEM_ALLOC_SIZE: 402653184
    CL_DEVICE_MAX_WORK_GROUP_SIZE: 512
[0] [1] AMD Radeon RX 580 Compute Engine
    CL_DEVICE_TYPE: GPU
    CL_DEVICE_GLOBAL_MEM_SIZE: 8589934592
    CL_DEVICE_MAX_MEM_ALLOC_SIZE: 2147483648
    CL_DEVICE_MAX_WORK_GROUP_SIZE: 256

显示系统装有两块显卡,第一块是集成显卡,第二块是挖矿的显卡。我显示器是接在集成显卡中,580专门用来挖矿。

我试过,显示器接在 580 显卡上,显示和挖矿都没有什么问题,不过在挖矿时,操作电脑时,显示会变慢,而且挖矿的速度也会下降。所以最好还是分开,挖矿还是用单独的显卡

  1. 开始挖矿

ethminer 用法:

ethminer -G -S 矿池地址 -O 以太钱包地址 --opencl-device 1`

--opencl-device 指定控矿使用显卡,
如果有多个显卡,可以用 --opencl-device 1 2 3 指定

  1. 存在的问题和思考

已经成功挖矿了,但是仔细一看,挖矿的速度值怎么这么低?明显比在 windows 下慢了很多啊, windows 下普通 18 Mh/s 的速度, 在 Mac 下只有 4 Mh/s 左右的速度。是显卡驱动问题吗?还是???

  • 显卡的驱动测试,我下载 cinebench 测试了一下显卡性能,跟 windows 下的性能差不太多。不应该造成如此大的速度区别。

  • 那是挖矿软件有问题吗?

在网上找到一篇有关 Mac 下挖矿的文章,里面说源码编译速度会快点

深入源码

编译挖矿软件源码

  1. 安装 brew , 如果还没有安装的话:

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  1. 安装 CMake

$ brew install cmake

  1. 下载源代码

$ git clone https://github.com/ethereum-mining/ethminer.git

  1. 开始编译
cd ethminer

建立目录
mkdir build; cd build

配置
$ cmake ..

如果是NVidia的显卡, 使用 `$ cmake .. -DETHASHCUDA=ON`

开始编译

cmake --build .

编译后的程序在 build/ethminer 目录下

  • dwarfpool 矿池使用方法:

./ethminer -G -F http://eth-eu.dwarfpool.com/以太钱包地址

  • ethermine 矿池使用方法:

./ethminer --farm-recheck 200 -G -S eu1.ethermine.org:4444 -FS us1.ethermine.org:4444 -O 以太钱包地址.注册用户名

编译成功,但是速度基本上没有提高,还是 4 Mh/s 左右!

无聊之下,只能用

$ ./ethminer --help 仔细查看有关选项,看能不能找到其它办法。

在试用了很多选项后,都失败了,其中的一个选项引起了我的注意 -cl-kernel

OpenCL configuration:
    --cl-kernel <n>  Use a different OpenCL kernel (default: use stable kernel)
        0: stable kernel
        1: unstable kernel

这个选项可以使用不同的 OpenCL 内核,缺省是 0 ,使用稳定的内核, 1 为不稳定版内核。

试了一把 --cl-kernel 1 果然速度明显提高,基本在 14.8 Mh/s 之上 。

我挖矿的最终的参数:

ethminer -G -F http://eth-eu.dwarfpool.com/0xce7077A7F5E85044329dE4D08CC91f67C102fc5B --cl-local-work 256 --cl-kernel 1 --cl-global-work 16384 --opencl-devices 1

查看挖矿情况

oscar$ curl http://dwarfpool.com/eth/api?wallet=0xce7077A7F5E85044329dE4D08CC91f67C102fc5B
{
  "autopayout_from": "1.010",
  "earning_24_hours": "0.00018725",
  "error": false,
  "immature_earning": 0.000106603497,
  "last_payment_amount": 0,
  "last_payment_date": null,
  "last_share_date": "Tue, 06 Feb 2018 04:38:06 GMT",
  "payout_daily": false,
  "payout_request": false,
  "total_hashrate": 14.82,
  "total_hashrate_calculated": 0.0,
  "transferring_to_balance": 0.0000795680,
  "wallet": "0xce7077A7F5E85044329dE4D08CC91f67C102fc5B",
  "wallet_balance": "0.00009854",
  "workers": {
    "": {
      "alive": true,
      "hashrate": 14.82,
      "hashrate_below_threshold": false,
      "hashrate_calculated": 0.0,
      "last_submit": "Tue, 06 Feb 2018 04:38:06 GMT",
      "second_since_submit": 319,
      "worker": ""
    }
  }

一般情况下服务器返回的数据跟实际挖矿情况会有 3 ~ 5 分钟的延迟,要耐心等待一下。

问题不断

挖矿软件运行了一阵子,想看看什么时候能有收益啊,进了dwarfpool.com 看了下,要满 1 个以太才会给你发放收益。国内的矿池有的 0.05 ,有的 0.1 就发放了。这也太坑了吧!

ethminer -G -S eth.f2pool.com:8080 -O 0xce7077A7F5E85044329dE4D08CC91f67C102fc5B.abc -SP 1 --cl-kernel 1 --opencl-devices 1

  • 测试使用星火矿池,也没有成功。

ethminer -G -S huabei-pool.ethfans.org:3333 -O 0xce7077A7F5E85044329dE4D08CC91f67C102fc5B.abc -SP 1 --cl-kernel 1

  • 不知道在官网看了多少次的文档,最后终于被我试出来了,问题出在钱包后面要有注册的用户名。如下:
ethminer  -G -S eth.f2pool.com:8008  -O 0xce7077A7F5E85044329dE4D08CC91f67C102fc5B.oscnet  -SP 1 --cl-kernel 1 --opencl-devices 1

设置开机自启动

每次都要自己运行一下,太麻烦了,我将参数写成如下 ethminer.plist 放入目录 ~/Library/LaunchAgents/。设置成开机自启动。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
http://www.apple.com/DTDs/PropertyList-1.0.dtd >
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.zjpjhx.ethminer</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/ethminer</string>
          <string>-G</string>

        <string>-S</string>
        <string>eth.f2pool.com:8008</string>

        <string>-O</string>
        <string>0xce7077A7F5E85044329dE4D08CC91f67C102fc5B.oscnet</string>

        <string>-SP</string>
        <string>1</string>

        <string>--cl-kernel</string>
        <string>1</string>
          <string>--cl-local-work</string>
          <string>256</string>
          <string>--cl-global-work</string>
          <string>16384</string>
          <string>--opencl-devices</string>
          <string>1</string>

    </array>
    <key>KeepAlive</key>
    <true/>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>
  • 检查plist语法是否正确
plutil ~/Library/LaunchAgents/ethminer.plist
  • 载入配置, 使配置生效
launchctl load ~/Library/LaunchAgents/ethminer.plist
  • 如果要卸载配置
launchctl unload ~/Library/LaunchAgents/ethminer.plist
  • 查看服务运行状态
launchctl list

收工

终于搞定,完美,一边工作,一边电脑还能为我赚钱,哈哈哈!这个感觉还真不错。

下一步改进

通过重新配置显卡 bios , 也就是刷显卡 bios 可以进一步提高算力。这个等以后有空再搞吧。

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations @oscnet! You have received a personal award!

1 Year on Steemit
Click on the badge to view your Board of Honor.

Do not miss the last post from @steemitboard:

SteemitBoard Ranking update - Resteem and Resteemed added

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @oscnet! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Do not miss the last post from @steemitboard:

SteemFest⁴ commemorative badge refactored
Vote for @Steemitboard as a witness to get one more award and increased upvotes!