##目的
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インストール
任意のディレクトリでコマンド実行
# sudo apt-get install software-properties-common
# sudo apt-get update
# sudo apt-get install libdb4.8-dev libdb4.8++-dev
・自動ビルドスクリプトを実行
/usr/localでコマンド実行 (ほかのところでも大丈夫かと)
# cd /usr/local
# wget https://github.com/eXperiencePoints/XPCoin/releases/download/1.0.0/XPd-linux-compile-from-source.sh
続けて
# 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/
##初回起動
# /usr/local/XPCoin/src/XPd
すぐにCtrl+Cで停止してOK
##XP.confの編集
/root/.XP というディレクトリが作成されているので
そのディレクトリのXP.confファイルを編集
daemonを0から1に
#(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の適当なところにコピー、展開
# unzip xp_start.zip -d /root/tmp
ブロックチェーンの情報を移行
# 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の情報を移行
# cp -p xp_start/XP/wallet.dat /root/.XP
##レッツ マイニング!
# /usr/local/XPCoin/src/XPd
walletを暗号化している場合は、以下のコマンドで鍵を外します。
# /usr/local/XPCoin/src/XPd walletpassphrase ********* 999999 true
*********に自分のwalletパスフレーズを入れてください
999999は鍵を外す有効期間(秒)、trueはマイニングのみのための引数です
コマンドに成功すれば、何も表示されません
一応、以下の方法で確認できます。
# /usr/local/XPCoin/src/XPd getinfo | grep unlocked_until
「"unlocked_until" : 」に、0でない数字が入っていればOKです。
どうやら、unix時間が入るようで、再びロックされるまでの期間です。(未確認)
##動いているかの確認方法は?
debug.logを確認してください。
エラーが起きていればdb.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にも表示されます。
↑こんな感じのマークがつく
または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のコミュニティは活発に活動してます!興味のある方はぜひ
XP Discord日本語コミュニティ
https://discord.gg/byc8pnM
参加してwalletつくればAirDropもらえるよ╭( ・ㅂ・)و̑