なんでも書く日記

書かないと忘れてしまうのでなんでも書く日記。読んでも役には立ちません。

CPUでマイニングできる仮想通貨kotoをマイニングする

kotoとは

kotoは、まだリリースされてひと月ほどの生まれたての仮想通貨である。kotoには以下のような特徴がある。

  1. 日本産
    kotoは、Monacoinやbitzenyなどと同様、日本国内のコミュニティから生まれた仮想通貨である。
  2. CPUでマイニング可能
    kotoは、GPUを使用せず、CPUでマイニングが可能である。
  3. Zcashベース
    kotoは、Zcashをベースにして開発された仮想通貨であり、これは国内では初である。

kotoについての詳しい情報は暗号通貨Kotoまとめ - 暗号通貨Kotoまとめにある。まだ上場していないこともあり、それほどマイニングしている人が少ないので、比較的さくさく掘ることができるのも魅力だ。いまのうちにマイニングしておくと、将来的に上場した場合のための先行投資になる。

VPSによるマイニング

先述した通り、kotoはCPUでマイニングできるため、VPSを利用したマイニングが可能である。ここでは、国内のVPSであるCONOHAを使用したマイニングを試してみる。※ただし、VPSの CPUリソースを過度に使用することは他の利用者の迷惑になるため、避けなければならない(後述の「cpulimitを実行する」を参照)。

www.conoha.jp

CONOHAを選択した理由

CONOHAは、最低価格のプランである1coreのサーバ価格で比較すると、海外の格安VPSより高い。ここではVultrと比較しているが、CONOHAより120円安い。※Vultrには2.5ドル/月プランがあるが、これは2個までしか契約できないという制限があるため、ここでは5ドルプランと比較した。

1 coreサーバの価格
  • CONOHA: 630円/月
  • Vultr: 5ドル(約550円)/月

しかし、2 coreのサーバ価格で比較すると、CONOHAの方が海外の格安VPSより安くなる。

2 coreサーバの価格
  • CONOHA: 900円/月 ⇨ 1 coreあたり450円/月
  • Vultr: 20ドル(約2200円)/月 ⇨ 1 coreあたり1100円/月

1 coreあたりの価格で計算すると、CONOHAは450円である。これは、Vultr 20ドルプランの1 coreあたりの価格(1100円)よりも650円安く、さらにVultrの5ドルプランよりも100円安い。しかも、現在、CONOHAはこの900円/月プランが30日間10%オフになるキャンペーン中なのでさらに安くなる。

CONOHAでサーバを作成

CONOHAでサーバを作成する方法は以下のとおり。

アカウント作成
  1. CONOHAのWebサイトを開く(下記リンク)。

    VPSならConoHa|登録者数12万アカウント突破 - 期間限定キャンペーン実施中

  2. 画面右上の「お申し込み」をクリックする。

  3. 必要事項を入力し、「次へ」をクリックする。
    # 以降、画面の指示に従い登録を進める。
サーバ作成

ここでは、キャンペーン中の900円/月プラン(2 core)サーバを作成する。

  1. 画面左上の「サーバー追加」をクリックする。
  2. 下記の項目を選択する。

    1.プラン
     タイプ:VPS
     リージョン:東京
     メモリ:1GB

    2.イメージ
     イメージタイプ:OS
     OS:Ubuntu
     バージョン:16.04(64bit)
     rootパスワード:<パスワードジェネレータなど使い複雑なパスワードを設定>

    3.オプション
     自動バックアップ:無効
     追加ディスク:使用しない
     接続許可ポート IPv4:全て許可
     接続許可ポート IPv6:全て許可
     SSH Key: 使用しない
     スタートアップスクリプト:使用しない
     ネームタグ: <任意の名前を設定>

  3. 「追加」をクリックする。

マイニングの準備

  1. 作成されたサーバのネームタグをクリックする。
  2. IPアドレスを確認する。
  3. sshでサーバに接続する。

    $ ssh -l root <サーバのIPアドレス

  4. apt を更新する。

    # apt update
    # apt upgrade

  5. 必要なパッケージをインストールする。

    # apt-get install git cpulimit install build-essential libcurl4-openssl-dev gcc-mingw-w64 automake gcc make

  6. cpuminerのレポジトリをcloneする。

    # sudo git clone https://github.com/noncepool/cpuminer-yescrypt

  7. cpuminer-yescryptに移動する。

    # cd cpuminer-yescrypt

  8. cpuminerをビルドする。

    # sudo apt-get install build-essential libcurl4-openssl-dev gcc-mingw-w64 automake gcc make # sudo ./autogen.sh # sudo ./configure CFLAGS="-O3 -march=native -funroll-loops -fomit-frame-pointer" # sudo make

マイニングの実行

  1. cpuminer を実行する(nohupで実行しないとsshを閉じた時にプロセスが終了してしまうので注意)。

    # nohup ./minerd -a yescrypt -o stratum+tcp://jp.kotopool.work:3333 -u k1DHvfdwzJ1rCXTEbhg3PxFAVaR5TRMiw84 -p password &


    - アドレス(k1DHvfdwzJ1rCXTEbhg3PxFAVaR5TRMiw84)は自分のものに置き換える。

    - この例ではマイニングプールにkotopoolを利用している。

マイニングに成功すると(yay!!!)が表示される。

# tail -f nohup.out 
[2018-01-14 03:43:18] 1 miner threads started, using 'yescrypt' algorithm.
[2018-01-14 03:43:18] Starting Stratum on stratum+tcp://jp.kotopool.work:3333
[2018-01-14 03:43:19] Stratum requested work restart
[2018-01-14 03:43:26] Stratum requested work restart
[2018-01-14 03:43:26] thread 0: 3704 hashes, 0.53 khash/s
[2018-01-14 03:43:28] Stratum requested work restart
[2018-01-14 03:43:28] thread 0: 1085 hashes, 0.54 khash/s
[2018-01-14 03:43:29] thread 0: 236 hashes, 0.59 khash/s
[2018-01-14 03:43:29] accepted: 1/1 (100.00%), 0.59 khash/s (yay!!!)
[2018-01-14 03:44:33] thread 0: 35556 hashes, 0.55 khash/s
[2018-01-14 03:44:33] accepted: 2/2 (100.00%), 0.55 khash/s (yay!!!)

cpulimitの実行

VPSはひとつの物理的なサーバのリソースを複数の利用者で利用するサービスであるため、過度のCPUリソースを長時間に渡って使用してはいけない。VPSでマイニングをする場合にはcpulimitなどのツールを利用することで、CPU使用率を抑えるようにする必要がある。

    1. cpuminerのプロセス番号を調べる。

      # ps ax | grep mined

    2. cpulimitを実行する。

      # nohup cpulimit -p <プロセス番号> -l <CPU使用率> &

    例)CPU使用率を60%としたい場合、1 coreでは60、2 coreでは120と指定する。