Edited at

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

More than 1 year has passed since last update.


目的

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もらえるよ╭( ・ㅂ・)و̑