LoginSignup
23
16

More than 5 years have passed since last update.

LinuxでXPをPosマイニングする(CUI版)

Last updated at Posted at 2017-12-10

目的

PoS通貨であるXPをWindows環境でマイニングしている…のですが
なかなか自宅PCをフルタイム稼働させるのが難しい
そこでクラウドサーバ上でフルタイム稼働させれないかと
思い立ったのがきっかけです。

Qt wallet(GUI版)よりメモリを喰わないかなーという理由で今回はGUI版でなくCUI版のものを使用しました。
でも、やってみた結果Windows版よりメモリ喰ってる

最終ゴール

Linuxでフルタイムマイニングして、Windowsでコインの送金やマイニング状況をチェックしたい!

準備

・Linuxマシン
OS ubuntu 14.04(64-bit)

・スペック
クラウドサーバ(今回はIDCFクラウド)
1CPU x 1.6 GHz / 2GB RAM (light.S2)
※1GBだとギリギリなので

ソースコード
https://github.com/eXperiencePoints/XPCoin

自動ビルドスクリプトを使ってインストール

マシンの準備は割愛します

・libdbインストール

任意のディレクトリでコマンド実行

console
# sudo apt-get install software-properties-common
# sudo apt-get update
# sudo apt-get install libdb4.8-dev libdb4.8++-dev

・自動ビルドスクリプトを実行

/usr/localでコマンド実行 (ほかのところでも大丈夫かと)

console
# cd /usr/local
# wget https://github.com/eXperiencePoints/XPCoin/releases/download/1.0.0/XPd-linux-compile-from-source.sh

続けて

console
# sudo sh ./XPd-linux-compile-from-source.sh

こんな感じのwarningがいくつか出ますがたぶん大丈夫。

main.h:961:24: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
         if (nHeight >= 0 || fTestNet)
                        ^

もし、エラーが出たりしても、
解消したうえで再び XPd-linux-compile-from-source.sh を実行すればOK

以下のディレクトリが作成されます
/usr/local/XPCoin/

初回起動

console
# /usr/local/XPCoin/src/XPd

すぐにCtrl+Cで停止してOK

XP.confの編集

/root/.XP というディレクトリが作成されているので
そのディレクトリのXP.confファイルを編集

daemonを0から1に

console
#(0=off, 1=on) daemon - run in the background as a daemon and accept commands
daemon=1

Windows版walletから移行

※新規に始める方は飛ばしてください

!!注意!!

wallet.datはUSBメモリなどにバックアップ(コピー)を取得してください。
なくなると二度とXPは返ってきません。

Windows版walletは終了してください。
あとは、↓のフォルダごとzipしてしまいます。
C:\Users\<ユーザ>\AppData\Roaming\XP

Linuxに展開

※これも新規に始める方は飛ばしてください

SCP等でzip(今回はxp_start.zip)したファイルをLinuxの適当なところにコピー、展開

console
# unzip xp_start.zip -d /root/tmp

ブロックチェーンの情報を移行

console
# cp -p xp_start/XP/blk0001.dat /root/.XP
# cp -p xp_start/XP/blkindex.dat /root/.XP
# cp -p xp_start/XP/peers.dat /root/.XP
# cp -p xp_start/XP/database/log.* /root/.XP/database

walletの情報を移行

console
# cp -p xp_start/XP/wallet.dat /root/.XP

レッツ マイニング!

console
# /usr/local/XPCoin/src/XPd

walletを暗号化している場合は、以下のコマンドで鍵を外します。

console
# /usr/local/XPCoin/src/XPd walletpassphrase ********* 999999 true

*********に自分のwalletパスフレーズを入れてください
999999は鍵を外す有効期間(秒)、trueはマイニングのみのための引数です

コマンドに成功すれば、何も表示されません
一応、以下の方法で確認できます。

console
# /usr/local/XPCoin/src/XPd getinfo | grep unlocked_until

「"unlocked_until" : 」に、0でない数字が入っていればOKです。
どうやら、unix時間が入るようで、再びロックされるまでの期間です。(未確認)

動いているかの確認方法は?

debug.logを確認してください。
エラーが起きていればdb.logに出るようです。

こんな感じのログが出力されていて

debug.log
SetBestChain: new best=xxxxxxxxxxxxxxxx  height=xxxxxxxx  trust=xxxxxxxxxxxx  blocktrust=xxxxxxxxx  date=DD/MM/YY HH:MM:SS

最後のdateが現在の時間付近であれば問題ないかと。
ちなみにdateはUTCらしく、日本時間-9時間表記です。

ステークできているかの確認は?

一番素早く・わかりやすいのは、以下のサイトに自分のwalletアドレスを入れて確認する方法です。
何より出先からも確認できるのがいい
https://chainz.cryptoid.info/xp/

ステークできていれば、Details for AddressのStakedに表示されます。
また、Transactionsにも表示されます。
stake.png
↑こんな感じのマークがつく

またはdebug.logに以下のメッセージが出る

debug.log
CheckStake() : new proof-of-stake block found
...
AddToWallet xxxxxxxxxx  new

あとは、コマンドから

/usr/local/XPCoin/src/XPd listtransactions

categoryがstakeのトランザクションを探す?

Windows版 ウォレットで情報を確認したい...

※Windowsのwallet.datは念のためバックアップ
※Windows版walletは終了する

Linuxのwallet.datをWindows版のwallet.datに上書きしてください
これで問題なく起動できます。
CoinAgeやMintProbabilityを確認するときはこの方法をとってます

最後に

XPのコミュニティは活発に活動してます!興味のある方はぜひ:grinning:

XP Discord日本語コミュニティ
https://discord.gg/byc8pnM

参加してwalletつくればAirDropもらえるよ╭( ・ㅂ・)و̑

23
16
13

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
16