ServersMan@VPSでMonacoCoinマスターノード

Monacoin、Monaco、MonacoCoin、MoonCoin……ヴォアアアアアッ!!!

……と言われるややこしいアルトコインシリーズの中でも最も悪名高い
紛らわしいと言われるMonacoCoin(XMCC)のマスターノードを立ててみました。
当然今回もVPSはServersMan@VPSの467円プランです。

・参考
NovaExchange : XMCC/BTC (取引所)

BitcoinTalk : [ANN] MonacoCoin [MCC] [ POW & POS X11] [MASTERNODE]

公式サイト : How to create a Masternode on MonacoCoin

・手順

下記サイトからビルド済みバイナリmonacoCoinCore-0.12.1.5-linux64-cli.zipを入手。
github : monacoCoin-Core
※あなたがこの記事を読む時点でバージョンが変わっている可能性があります。

とりあえず ~/monacoCoin にmonacoCoin-cliとmonacoCoindをコピーして、
パーミッションを適切に設定してください(いつも通りココは自力で勉強してね)。

とりあえずデーモン実行
~/monacoCoin/monacoCoind -daemon

すぐに停止
~/monacoCoin/monacoCoin-cli stop

confファイルをnanoエディタで開く。
nano ~/.monacoCoinCore/monacoCoin.conf

下記内容を記述してCTRL+O、CTR+W。
addnode=212.47.252.254:24157
addnode=163.172.157.172:24157
addnode=51.15.142.144:24157
addnode=35.190.196.155:24157
addnode=104.199.237.252:24157
addnode=35.187.222.84:24157
addnode=35.189.24.121:24157
addnode=163.172.188.202:24157
addnode=35.190.174.15:24157
addnode=104.197.188.101:24157

デーモン実行
~/monacoCoin/monacoCoind -daemon

しばらく経ってから情報取得
~/monacoCoin/monacoCoin-cli getinfo

ブロック同期完了したらウォレットアドレス取得
~/monacoCoin/monacoCoin-cli getnewaddress 0
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

マスターノードprivkeyも生成する
~/monacoCoin/monacoCoin-cli masternode genkey
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

先ほど生成したウォレットアドレスに1000MCCピッタリ送り、
ウォレット情報を表示して”balance”: 1000.00000000を確認する。
ちなみにWindows用QTウォレットは1000指定すれば手数料自動計算です。
~/monacoCoin/monacoCoin-cli getinfo
MonacoCoin
{
“version”: 120105,
“protocolversion”: 70206,
“walletversion”: 61000,
“balance”: 1000.00000000
(以下略)

デーモンを終了しconfを修正する。
~/monacoCoin/monacoCoin-cli stop
nano ~/.monacoCoinCore/monacoCoin.conf

内容を下記の通り修正する
rpcuser=任意のID
rpcpassword=任意のパスワード
rpcallowip=127.0.0.1
server=1
listen=1
daemon=1
maxconnections=24
masternode=1
masternodeprivkey=genkeyで生成したprivkey
externalip=VPSのIPアドレス

修正が終わったらデーモン実行
~/monacoCoin/monacoCoind -daemon

しばらくしてマスターノード動作チェック
~/monacoCoin/monacoCoin-cli mnsync status
{
“AssetID”: 999,
“AssetName”: “MASTERNODE_SYNC_FINISHED”,
“Attempt”: 0,
“IsBlockchainSynced”: true,
“IsMasternodeListSynced”: true,
“IsWinnersListSynced”: true,
“IsSynced”: true,
“IsFailed”: false
}

上記のように
“AssetID”: 999
“AssetName”: “MASTERNODE_SYNC_FINISHED”
が返れば成功。

ただしこのままでは”WATCHDOG_EXPIRED”が返されてステークされないため、
さらに下記の手順が必要になります。

センチネルの構築
sudo apt-get -y install python-virtualenv
git clone https://github.com/monacocoin-net/sentinel.git && cd sentinel
virtualenv ./venv
./venv/bin/pip install -r requirements.txt

センチネルの設定を書き換えるためにnanoでconfを開く。
nano sentinel.conf

下記内容に修正する(赤文字の箇所は環境ごとに違うので注意!)
# specify path to monacoCoin.conf or leave blank
# default is the same as monacoCoinCore
monacoCoin_conf=~/.monacoCoinCore/monacoCoin.conf

# valid options are mainnet, testnet (default=mainnet)
network=mainnet
#network=testnet

# database connection details
db_name=database/sentinel.db
db_driver=sqlite

crontab編集コマンド実行
crontab -e

iキーを押して挿入モードで末尾に下記1行を追記
* * * * * cd ~/sentinel && ./venv/bin/python bin/sentinel.py >/dev/null 2>&1

ESCキーを押して:wqをタイプしてセーブ&脱出。

自分のCTxInを表示する
~/monacoCoin/monacoCoin-cli masternode status

下記のxxxxxxxxxxxxxの箇所を控えておく。
“vin”: “CTxIn(COutPoint(xxxxxxxxxxxxxxx…

マスターノードリストをoutput.txtに出力
~/monacoCoin/monacoCoin-cli masternode list > output.txt

nanoでoutput.txtを開く
nano output.txt

CTRL+Wを押してxxxxx..を入れてENTERを押して検索して、
ヒットした自分の行の末尾が”ENABLE$”になっていれば成功。
“xxxxxxxxxxxxxxxxxxx…xxxxxxxxxxxx-1” : “ENABLE$”

ステークを楽しみに待ちましょう!