Mac
Bitcoin
Monacoin
mining

Mac OS XでモナーコインをCPUマイニングする

動機

今更CPUでマイニングはねぇだろ、てのは分かってますが、採掘をするというのはどういう事か、
試さないで知った顔するよりは、やる事やって得られる知識は少なからずあるはず、という好奇心の元、試してみました。
特に、今時のMacの情報が少なく、ビルドに苦戦したのでシェアします。
色々と試行錯誤した結果、最適解かどうか整理しきれておりませんので、ご容赦ください。

手持ちのカード

  • 型落ちのMacbook Air(El capitan)
  • 諦めの悪さ

事前準備

cpuminerをビルドする

ライブラリなどのインストール

マイニングをするに当たってはCPU Minerというプログラムが必要なので、ソースコードをダウンロード。

$ git clone https://github.com/tpruvot/cpuminer-multi

READMEによると、libcurl、jansson、openssl、pthreads、zlibが必要らしいので、homebrewを駆使してインストール。

$ brew install curl
$ brew install jansson

OpenSSLは、

$ brew install openssl

してもOSX標準のパス(/usr/bin/openssl)から切り替わらなかったので、パスを通しました。
(未確認ですが、標準のOpenSSLのままでも問題なかったかもしれません:sweat:)

$ echo export PATH=/usr/local/Cellar/openssl/1.0.2l/bin:$PATH >> ~/.bash_profile
$ source ~/.bash_profile

(バージョンは要確認)

$ which openssl

でパスが変わった事を確認。

pthreadsは、

$ brew install php56-pthreads

zlibは、特に何かした記憶がないので、元から入ってるか、Xcodeに含まれてるのでしょうか。

その他、automake、autoconfも同様にインストール。

ビルド

README通りに

$ ./autogen.sh
$ ./nomacro.pl
$ ./configure CFLAGS="*-march=native*" --with-crypto --with-curl
make

だとmakeできずハマったんですが、

$ ./autogen.sh
$ ./nomacro.pl
$ ./configure CFLAGS="-march=native" --with-crypto --with-curl
$ perl -p -i -e "s/#if \(WINDOWS\)/#define ASM 0\n#if (WINDOWS)/g" algo/neoscrypt.c
$ make

最終的にこれでなんとか成功!

(3行目:CFLAGSの*を抜く)
(4行目:なんらかの理由でASMのコードが動かないので、手動で無効にするとの事)
[参考] https://bitcointalk.org/index.php?topic=841401.msg13025434#msg13025434

ビルドできてしまえば、あとは掘るだけ:pick:

モナーコインを掘ってみる

事前準備

設定ファイルを作成

ASICpool の例

monacoin.json
{
    "api-bind": "127.0.0.1:4048",
    "url": "stratum+tcp://stratum-jp.asicpool.info:2101",
    "user": "ユーザー名.ワーカー名",
    "pass": "パスワード",
    "algo": "lyra2rev2",
    "threads": 0,
    "cpu-priority": 0,
    "cpu-affinity": -1,
    "benchmark": false,
    "debug": false,
    "protocol": false,
    "quiet": false
}

[参考] https://blog.visvirial.com/articles/499

実行

$ ./cpuminer --config monacoin.json

するとMacが唸り始め、
ss.png

しばらくすると、
yes!
が出てきます。
ss2.png

これが掘れてるサインみたいですが、今時のGPUだとMH/s出るっぽいので約1000倍差はありそうです。
仮に採掘し続けたとして、0.001MONA/DAYくらいの印象でしょうか。
これに価値を見出せるかどうか。。

「掘ったことがある」というのがいつか大きな財産になる

かどうかは今はわかりませんが、いつか見返した時にそうなっていればいいものです。
書いてみればこの程度でしたが、ビルドに費やした時間は自分にとってはすでに有益なものになっていると思っています。