MacOSX
Blockchain
仮想通貨
monero
マイニング

macでダブルクリックでMoneroをマイニングできるようにしてみた

注意

2018年4月のMoneroのハードフォークにより、ハッシュアルゴリズムがcryptonightv7に変更されたため、ソフトウェアをアップデートしました。バージョン1.2以上をご利用下さい

https://github.com/kackyt/easy-mining-mac/releases/tag/1.2

※マイニングCPUパワーの3%ほどを開発費用として利用しております。あらかじめご了承下さいm(_ _)m

目的

最近、仮想通貨のマイニングにはまってまして、空き時間を使ってマイニングを実験したりしてますが、どうせならコンソールからコマンドラインを打つのではなく、アイコンをダブルクリックするだけで、マイニングを開始できないか試してみました。

やり方

MacOSXのアプリケーションの形式の実体はフォルダになっていて、その中にあるInfo.plistに従って、様々な処理を実行してくれます。この仕組みを生かして、内部にあるマイニングソフトを動かすというやり方を取ります。

マイニングソフトはCPUマイニングの中では速いと評判のxmr-stak-cpuを使い、Moneroをマイニングすることにしました。

構成

  • StartXMR.app
    • Info.plist -- (アプリの起動設定)
    • MacOS
      • exec.sh -- (xmr-stak-cpuを起動するスクリプト)
    • Resources
      • xmr-stak-cpu (マイニングソフト)
      • config.txt (コンフィグファイル)

Info.plist

Info.plistにはexec.shを実行するという設定を書いておきます。

<?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>CFBundleExecutable</key>
    <string>exec.sh</string>
  </dict>
</plist>

exec.sh

シェルスクリプトにはResources/xmr-stak-cpuをバックグラウンドで実行する処理を書きます。

#!/bin/bash

DIR=`dirname $0`
cd $DIR/../Resources/
./xmr-stak-cpu &

config.txt

マイニングの設定はファイルを読みながらよしなに自分向けにカスタマイズしてください。
まあ、設定すべきところは、CPU周り(cpu_threads_conf)とマイニングプールのあたりくらいです。

"cpu_threads_conf" :
[
   { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 0 },
   { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 1 },
   { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 2 },
],
/*
 * pool_address   - Pool address should be in the form "pool.supportxmr.com:3333". Only stratum pools are supported.
 * wallet_address - Your wallet, or pool login.
 * pool_password  - Can be empty in most cases or "x".
 *
 * We feature pools up to 1MH/s. For a more complete list see M5M400's pool list at www.moneropools.com
 */
"pool_address" : "monerohash.com:3333",
"wallet_address" : "455h9vpZNrygxoHXi8oE44KkuVL82pzg3DGpAw4gGfkLVKfpAWFFNuaV9CPSEu85BWE4oh7di62s2RwznKaaqeNT41hEQzV",
"pool_password" : "x",

止め方

マイニングを止める方は、MacOSに同梱されているAutomatorを使ってみました。

Automatorを使うと、シェルスクリプトの実行は下のようにGUIで打ち込むだけでできます。
pkillを呼び出してxmr-stak-cpuを止めます。

スクリーンショット 2017-11-16 13.15.14.png

成果物

https://github.com/kackyt/easy-mining-mac/releases

TODO

開始と終了のアプリは1つにまとめてもよさそうかなー。