Windows/Linuxウォレットの両立

仮想通貨をしばらく扱っていると、下記のコトに気づくはずです。

1.Windowsは大抵 %appdata%\コイン名\ のフォルダに設定ファイルが保存される。

2.Linuxは大抵 ~/.コイン名/ のディレクトリに設定ファイルが保存される。

3.コインによっては設定ファイルのうち”コイン名.conf”を編集する必要があり、
bitcointalkなどのフォーラムを見てaddnode=x.x.x.xを追記しなければ
正常に同期されなかったりする。

4.ウォレットのバックアップとは、設定ファイルのうち”wallet.dat”の
コピーを保存すること。

5.“wallet.dat”は複数のマシンで同時に利用することができる。

6.あくまで仮想通貨のネットワークに接続するためのキーファイルに過ぎず、
入出金情報が皆のブロックチェーンに記録されるので、どのマシンで入出金を
行ったとしても全て同期している。

・・

前置きはここまで。
つまり、WindowsであらかじめQTウォレットを走らせて同期してコインを入金し、
同じwallet.datをVPS上のウォレットでも併用することが出来るのです。

これの利点はズバリ
「自宅サーバを持たない人が、PoSウォレットのために24時間ずっとパソコンの
 電源を入れっぱなしにして無駄な電気を使わなくて済むコト」です。

入出金は操作の容易なWindows版ウォレットで行い、実際のPoSによるステークは
VPS上で24時間動き続けるプログラムに任せれば良いわけですね。
どちらも共通のwallet.datを用いるのでVPSでステークしたコインを
WindowsのGUIで採掘状況をチェックできる利点もあります。

ちなみに私がVPSへのSSH接続に使っているRLoginは、
ファイルメニューの「SFTPファイルの転送」でVPSに直接wallet.datを流し込めます。

ただし、Condensate(Rain)やEmber(EMB)など
Windows QTウォレットとLinuxコンソール版ウォレットが
同じ”wallet.dat”という名前でありながらファイル形式に互換性が無い
ようなパターンもあります。
(その場合、VPSでLinux版ウォレットを実行した瞬間、エラーで落ちます)。

そして、
残高がある&バックアップしていないwallet.datにうっかり上書きすると即死します
※絶対に助かりません。

必ずバックアップを取りながら慎重にやりましょう。

vpsdimeを契約してみました

vpsdime : Fast, Affordable, Reliable VPS HOSTING
論理4コアCPU、メモリ6GB、SSD30GB、月2TBまで転送OK、10Gbpsネットワーク。

そして月額7ドル(794円!?)という頭がオカシイとしか思えないVPSを見つけたので契約。
ちなみにPaypalで支払いも出来るのでクレカ番号を入力しなくて良いのもイイね。

これまた2chのrainスレで先行で情報を書いたけど、下記のような感じです。

Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz ×4
MemTotal 6291456 kB
Linux version 2.6.32-042stab123.9 (root@kbuild-rh6-x64.eng.sw.ru)
(gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) )
#1 SMP Thu Jun 29 13:01:59 MSK 2017
がデフォルト。

会員ページでRebuildボタンを押すとディストリビューション変更出来るから
Ubuntu 14.04 64Bitに設定すれば、ほとんどのウォレットが推奨してる環境が出来る。
リビルド実行した瞬間に一瞬で差し替わったから、恐らくテンプレートのLinuxVMがあって
それが即座にSSD上でオーバーライトされてるんだと思う。

ちなみにPING応答速度は160ms前後だけど、キーリピートのレスポンスは
クッソ遅いからRLoginでSSHアクセスするなら
「サーバー→通信共通→キーボード入力をローカルエディットモードにする」を
チェックしないとかなりツライ。

ただ、さすがSSDだけあってapt-getの導入がめっちゃ速いのが良いね。

※2chに打った原文ママ。

ただしChainCoinのウォレットをビルドしてみたらServersMan@VPSとは違うトラブルが
いくつか起こったので、それを追記しました。

ServersMan@VPSでCHCマスターノードを動かす

ちなみに既存のマスターノードを新しいサーバに移す場合…

1.旧サーバのマスターノードを停止。
2.新サーバで同一プログラムを実行しブロック同期を完了させる。
2.~/.chaincoin/wallet.dat など主要ファイルを旧サーバから新サーバへコピー。
3.再び chaincoind masternode genkey などキーの生成からやり直す。
4.confファイルを修正し、masternodeprivkeyやIPアドレスを修正する。

という手順が必要になります。

~追記~
VPSDimeはSSHポート22なので
nano /etc/ssh/sshd_config

で、5行目の Port 22 を任意の未使用ポートに変更してから
sudo service ssh restart

これでSSHのポートを変更出来ます。とりあえず気分でそのくらいはしておくが吉。

あと、libeventをインストールした後、ウォレットをビルドしようとすると
「chaincoind: error while loading shared libraries: libevent-2.0.so.5~…」
のエラーを吐いて止まるので下記の設定を行うべし。

cd /usr
mkdir /lib64
ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5
nano /etc/ld.so.conf.d/libevent.conf

nanoエディタでlibevent.confに下記1行を記述してCTRL+Oで保存、CTRL+Wで脱出
/usr/local/lib

内容を反映させる
ldconfig

Serversman@VPSでrainウォレット

※もしかするとソースコードめっちゃ古くて、今のrainと互換性が無いかもしれません。念のため記事は残しますが利用は推奨しません。
2017.9.7 AM7:52追記
2chのrainスレの199氏より「ウォレットの送受信試したら問題無い」とレポートありました。
あくまでWindows版QT-Walletのwallet.datとの互換性が無いだけのようです。

2chのrainスレに先に方法を書いちゃったけど、とりあえずコチラでもうp。

VPSは毎度おなじみServersMan@VPSの467円プランです。

・Condensate(Rain)について
BitcoinTalk : [[RAIN]X11 CPU/GPU PoW OVER! 20,000,000 COINS BURNED! condensate.co

・前準備
sudo apt-get install build-essential
sudo apt-get install libssl-dev
sudo apt-get install libdb++-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libqrencode-dev

・これもいるかも?
sudo apt-cache search libdb
sudo apt-get install libdb-dev

・環境によってはコチラも必要かも
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev
sudo apt-get install libdb4.8-dev libdb4.8++-dev

・ソースコード落とす
git clone https://github.com/OBAViJEST/rain
cd ~/rain/src
make -f makefile.unix

・g++エラーが出た時はXCXTと同じ対処
cd leveldb
chmod 755 build_detect_platform
make libleveldb.a libmemenv.a
cd ..
make -f makefile.unix

・ビルドが完了したらconf作成
cp raind ..
cd ..
mkdir ~/.rain
nano ~/.rain/rain.conf

rain.confの内容
rpcuser=ユーザ名
rpcpassword=パスワード
rpcallowip=127.0.0.1

rain.confを保存したらパーミッションをリードオンリに
chmod 400 ~/.rain/rain.conf

プログラムを実行し情報を表示
~/rain/raind –daemon
~/rain/raind getinfo

後は他のコンソール用ウォレットと同じ使い方でOKです。

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$”

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

気の早すぎるマスターノード途中報告

ここ最近VPSでひたすらマスターノードを立てていますが、
とりあえず途中報告を。

・ChainCoin(CHC)
2017/8/14にMNを開始して15日が経過しました。
増加量は10.00015CHC(今日のレートで約0.00048BTC=228.96円)。
1日あたり約15円の収益となります。

・Eternity(ENT)
2017/8/16にMNを開始して13日が経過しました。
増加量は29.25004208ENT(今日のレートで約0.00253BTC=1206.81円)。
1日あたり約93円の収益となります。

・CoinonatX(XCXT)
2017/8/27に立てたばかりなのでまだ2日しか経過していません。
増加量は18.15335641XCXT(今日のレートで約0.000172BTC=82.044円)。
1日あたり約41円ですが判断はまだ時期尚早かと思います。

上の3つを合計すると1ヶ月4,470円の収益になりますので、
月500円のレンタルサーバで運用できると考えると悪くないですね。
※もちろんアルトコインの価値が大暴落するリスクもあります。

正直なところChainCoinは今から新規に立てる利点は無さそうです。
一方でENTとXCXTに関しては思った以上に頑張ってくれています。
来月中にはZENCash(ZEN)とMonacoCoin(XMCC)あたりのMNも立てたいところですね。

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

前回(ServersMan@VPSでCHCマスターノードを動かす)のシリーズで、
CoinonatX(XCXT)のマスターノードを立ててみます。
例に漏れずVPSはServersMan@VPSの467円プランです。

・参考
Cryptopia : XCXT/BTC (取引所)

BitcoinTalk : [ANN] CoinonatX-PoW/PoS-Masternodes-75% APR (CXT Sister)

Git : CoinonatX ※書いてある手順にいきなり誤記あり

・手順

下記コマンドでLinuxウォレットのソースコードを入手。
git clone https://github.com/Coinonat/CoinonatX

ビルド実行
cd CoinonatX/src
make -f makefile.unix


※恐らくVPSだとこの時点で下記エラーが出ます。
g++: error: /root/CoinonatX/src/leveldb/libleveldb.a: No such file or directory
g++: error: /root/CoinonatX/src/leveldb/libmemenv.a: No such file or directory

(対処方法)
cd ~/CoinonatX/src/leveldb
chmod 755 build_detect_platform
make libleveldb.a libmemenv.a
cd ~/CoinonatX/src/
make -f makefile.unix

ビルドが完了したらひとまず./CoinonatX/ディレクトリにコピー
cp coinonatxd ..

プログラム実行
cd ~/CoinonatX
./coinonatxd -daemon
./coinonatxd getinfo
これで下記情報が出ればウォレット稼働開始。
“version” : “v2.0.2.2: MN-Swap-Ready”,
“protocolversion” : 60022,
“walletversion” : 60000,
“balance” : 0.00000000(以下略)

マスターノードprivkeyを生成。扱いに注意。
./coinonatxd masternode genkey
xxxxxxxxxxxxxxxxxxxxxxxxxxx

MN用XCXTウォレットを生成
./coinonatxd getaccountaddress MN
xxxxxxxxxxxxxxxxxxxxxxxxxxx

この時点で生成したXCXTウォレットにピッタリ5000XCXT届くように送ります。
ちなみに公式Windows用QTウォレットからは5000.00000000を指定すれば
勝手に5000.000002XCXTが手数料込みで引かれて処理されます。

./coinonatxd getinfo
で”balance” : 5000.00000000になったらデーモン停止。
./coinonatxd stop

ちなみにstopで止める前にconfファイルをいじると
“incorrect rpcuser or rpcpassword (authorization failed)”
と出て止められなくなるのでその場合はタスクキル。
pkill -9 -f coinonatxd

confを修正するためにnanoで開く。
nano ~/.CoinonatX/coinonatx.conf

恐らく下記のような内容でOK
rpcuser=任意のユーザ名
rpcpassword=任意のパスワード
rpcport=44578
rpcallowip=127.0.0.1
daemon=1
server=1
staking=0
reservebalance=5000
logtimestamps=1
maxconnections=256
masternode=1
masternodeprivkey=先ほど生成したマスターノードprivkey
externalip=VPSのIPアドレス:44678
masternodeaddr=VPSのIPアドレス:44678
addnode=lindaminingpool.ddns.net
addnode=193.70.109.114

編集が終わったら
~/CoinonatX/coinonatxd -daemon
~/CoinonatX/coinonatxd masternode start
これで
successfully started masternode
が出ればOK。

最後に一覧出力
~/CoinonatX/coinonatxd masternode list

自分のマスターノードが見つかったらちゃんと動いている(はず)。

VPSでPinkCoinをステーク

※Serversman@VPSでリソースリークでプロセスがクラッシュする症状が見られました。
 再現性はありませんが運用にご注意ください。

巷ではRAINがヤバイと話題ですが、あえてピンクコインをVPSでステークする方法を。

ちなみに2017/8/26現在BITTREXで1枚300sat前後です。
ステークしやすいとされる10万枚を買うのに必要なコストは
今日現在で0.3BTC(約15万円)……結構ハードル高いっすね。

・初めてにやっておくこと
コンソール版ウォレットのSENDコマンドで手持ちコイン分割やら何やらは
直感的に操作しづらいので、とりあえずWindows版で環境作りましょう。

その手順はウチがいちいち書かなくても2chのピンクコインスレpart1の191さん
写真付きで超丁寧に手順をまとめているのでそちらを参考に…

(Windows版Pinkcoinウォレット設定参考サイト)
初心者から始める仮想通貨生活! : ピンクコインのPoSマイニング方法!

・VPSにpink2dを導入する
例に漏れずServermans@VPSを使うパターンです。

Windows版PinkcoinウォレットでPoSステークを確認したらSSHでVPSにログオンして、
後は下記の手順でOK。

git clone https://github.com/PinkDev/Pink2 pink2

sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev

sudo apt-get install libboost-all-dev

sudo add-apt-repository ppa:bitcoin/bitcoin

sudo apt-get update

sudo apt-get install libdb4.8-dev libdb4.8++-dev

sudo apt-get install libminiupnpc-dev

cd ~/pink2/src

make -f makefile.unix USE_UPNP=

cp pink2d ~/pink2

mkdir ~/.pink2/

この段階でWindows版のPinkcoinウォレットからバックアップしたwallet.datを
~/.pink2/ディレクトリにコピーしておく。

nano ~/.pink2/pinkconf.txt

下記2行をテキストに追記
—-ここから
rpcallowip=127.0.0.1
rpcuser=任意のユーザ名
rpcpassword=任意の特定されづらいパスワード
—-ここまで
CTRL+OでセーブしてCTRL+で脱出。

ここでpink2d、pinkconf.txt、wallet.datを適切なパーミッションに設定してください。
(chmodでどのパラメータを与えるべきかは自分で考えてね)

~/pink2/pink2d -daemon

恐らく今日現在のブロック数で、ここから同期完了まで約1日かかります。
下記コマンドを入力して残高が表示されれば成功です。
~/pink2/pink2d getinfo

****@localhost:~# ~/pink2/pink2d getinfo
{
“version” : “v2.1.0.1”,
“protocolversion” : 60013,
“walletversion” : 60000,
“balance” : 153242.51733646, << ピンクコインの残高
(以下略)

本気で安く済ませたい人はVPS使わずにRaspberry piあたりを
サーバにしても良いかもっすね。
(ブロック書き込みでムチャクチャSDカードが傷むのでバックアップは忘れずに)

2017/08/27 AM8:40追記
どうにもステークが止まっている気がするので上述の
nano ~/.pink2/pinkconf.txt
の内容にrpcallowip=127.0.0.1を加えました。

~追記~
2017/08/28
100pinkステークを確認しました。

ちなみに
./pink2/pink2d getstakinginfo
これでウェイト値を確認することが出来ます。
(ピンクコインは100万ウェイトを超えるとステークしやすいと言われています)


広告エリア





ServersMan@VPSでENTエタニティノードを動かす

※2017/10/16最新バージョンで .eternity 設定ディレクトリが
 .eternitycore に変更されたため記事を加筆修正しました。

前回(ServersMan@VPSでCHCマスターノードを動かす)に続いて
Eternity(ENT)のエタニティノードも立ててみました。
例に漏れずVPSはServersMan@VPSの467円プランです。

※ENT(Eternity)です。ANN(Aeternity)じゃないので注意!

・参考
YoBit.Net : ENT/BTC (Eternity購入元)

BitcoinTalk : [ANN][ENT] Eternity – X11 – No Premine

YouTube : EternityNode

・必要なプログラムの入手
公式サイトのWALLETのLinux 64-bit版のbinディレクトリにビルド済みバイナリがあります。
rootでログインしてディレクトリ ~/eternity/ を作成し、
eternity-cli
eternityd
をコピーしてからchmodでパーミッションを適切に設定しましょう。
(意味を理解しないまま先に進むのは危なすぎるのでココは独学でがんばってね)

・コンフィグファイルを作成する
eternityのデーモンを実行する(この段階では一度エラーが出ます)。
./eternityd

すぐにデーモンを終了させる。
./eternity-cli stop

この段階でブロックなどを格納する .eternity フォルダが作成されているので、
nanoエディタでコンフィグファイルを開く
nano ~/.eternitycore/eternity.conf

下記13行を入力してCTRL+Oで保存&CTRL+Xで脱出。
rpcuser=任意のユーザ名
rpcpassword=任意のパスワード
listen=1
server=1
daemon=1
logtimestamps=1
maxconnections=256
addnode=176.65.120.174
addnode=176.65.120.5
addnode=2.95.220.18
addnode=46.119.117.105
addnode=5.19.241.85

再びデーモンを実行する。
./eternityd

ブロック同期が完了しステータスが正常表示されるまで待つ。
./eternity-cli getinfo

・エタニティノード準備
以下の手順は「ひとつでも順番を間違えると動かない」ので注意!

エイリアス”EternityNode”のウォレットアドレスを取得
./eternity-cli getaccountaddress EternityNode
xxxxxxxxxxxxxxxxxxxxxxxxxx

この段階で上記xxxxxxxxxxxxxxxxxxxxxxxxxxに表示されたウォレットに1000ENTを送金する。
少しでも足りないとアウトなので、一発で1000.00000000ピッタリ
に送りましょう。

エタニティノード用privkeyを生成(管理に注意!)
./eternity-cli eternitynode genkey
xxxxxxxxxxxxxxxxxxxxxxxxxx

TXIDとINDEXを取得する。ちなみにTXIDは16進数の羅列、INDEX値は0または1です。
./eternity-cli eternitynode outputs
{
“TXID内容” : “INDEX値”
}

再びeternity.confをnanoエディタで開く。
nano ~/.eternity/eternity.conf

コメントアウト#を外してprivkeyを追記し保存&エディタ終了。
rpcuser=任意のユーザ名
rpcpassword=任意のパスワード
listen=1
server=1
daemon=1
logtimestamps=1
maxconnections=256
eternitynode=1
gen=0
discover=1
eternitynodeprivkey=genkeyで生成したprivkey
eternalip=VPSのIPアドレス:4855
addnode=176.65.120.174
addnode=176.65.120.5
addnode=2.95.220.18
addnode=46.119.117.105
addnode=5.19.241.85
addnode=104.238.171.31
addnode=107.150.7.228
addnode=117.89.40.37
addnode=121.185.36.166
addnode=185.177.59.240
addnode=185.177.59.27
addnode=185.203.116.166
addnode=185.203.117.65
addnode=185.206.146.119
addnode=37.72.70.152
addnode=45.77.92.58
addnode=5.9.65.168
addnode=52.178.110.204
addnode=60.225.3

エタニティノード用コンフィグを修正する。
nano ~/.eternitycore/eternitynode.conf

内容は下記1行を追記するのみ。スペースを空けるのを忘れずに。
EternityNode エタニティノード用ウォレットアドレス TXID値 INDEX値

(例)ウォレットaaa、TXID=bbb、INDEX値1の場合
EternityNode aaa bbb 1

コンフィグを保存したら一度デーモンを再起動。
./eternity-cli stop
./eternityd

しばらく待ってブロック同期が完了したらエタニティノード開始。
メッセージに”successful”が含まれていれば成功。
./eternity-cli eternitynode start-all

エタニティノードステータスを確認する。
./eternity-cli eternitynode status
{
“vin” : “CTxIn(COutPoint(TXID値, 1), scriptSig=)”,
“service” : “VPSのIPアドレス:4855”,
“pubkey” : “公開鍵”,
“status” : “Eternitynode successfully started”
}

※どうしても eternitynode status が””Not capable eternitynode”で
エラーが返るときは eternity-cli eternitynode start で
エタニティノードを1つだけ立てて実行してみてください。

successfullyを確認してからリストを表示してみる。
./eternity-cli eternitynode list-conf
{
“eternitynode” : {
“alias” : “EternityNode”,
“address” : VPSのIPアドレス:4855″,
“privateKey” : “privkeyの内容”,
“txHash” : “TXIDの内容”,
“outputIndex” : “INDEX値”,
“status” : “ENABLED”
}
}

 


広告エリア


ServersMan@VPSでCHCマスターノードを動かす

Chaincoinのマスターノードを自宅鯖で動かす方法を書いたばかりですが、
マスターノードは
「24時間切断することなく同一のIPアドレスで動作すべき」
という重い責任があるのでVPSを借りてみることにしました。

ほとんどChainCoinの公式マニュアルPDFに書いてある通りですが、
海外の特定VPSを対象としているため細部が結構違ったりします。
自分用のメモとして書き書き。

・VPSを選ぶ

ServersMan@VPSエントリー467円プラン
コイツを選んだ理由は
1.グローバルIPアドレスが割り当てられる。
2.500円ちょいの超低価格でメモリ1GB+スワップ設定済み。
3.Ubuntu14.04 LTS(64bit)を自動導入テンプレートあり。
4.ChainCoinの公式マニュアルがそもそもUbuntu14推奨。
です。
ServersManといえば低速SIMを圧縮プロキシで高速化も書いたし、
昔から低価格プランをいじりがいのあるブランドっすな。

・SSHで接続する

ServersMan@VPSをUbuntu14.04 LTS(64bit)テンプレートで導入したら、
RLoginでSSH接続する。
Server AddressとSocket Port、Username Password/phraseを
ServersMan@VPSで発行されたヤツを入力すればOKです。
最近のモニタだとデフォルトフォントが超ちっちゃいので、
「表示、オプション設定、スクリーン、一行あたりの文字数からフォントサイズを決定80」
でOK。

・必要なプログラムのビルド

パッケージを最新に更新する。
sudo apt-get update

公式マニュアルに記載されていない必要プログラム2つを導入。
apt-get install nano
apt-get install libevent-pthreads-2.0-5

以下は公式マニュアルまんま。
sudo apt-get update
sudo apt-get install automake
sudo apt-get install libdb++-dev
sudo apt-get install build-essential libtool autotools-dev
sudo apt-get install autoconf pkg-config libssl-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libminiupnpc-dev
sudo apt-get install git
sudo apt-get install software-properties-common
sudo apt-get install python-software-properties
sudo apt-get install g++
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev -y
cd ~
git clone https://github.com/chaincoin/chaincoin.git
cd ~/chaincoin/
./autogen.sh
./configure –without-gui

~もしここで”libevent not found”が出たら~
1.wgetでlibevent-2.0.22-stable.tar.gzをダウンロードし、
 展開して出力されたディレクトリに移動する。
wget -O libevent-2.0.22-stable.tar.gz http://sourceforge.net/projects/levent/files/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz/download
tar zxf libevent-2.0.22-stable.tar.gz
cd libevent-2.0.22-stable
 ※参考:http://www.ajisaba.net/develop/tmux/libevent_install.html

3.以下のコマンドを実行してlibevent-2.0.22-stableを導入する。
./configure
make
make install

chaincoinの./configureが無事に通ればコンパイル&ビルド。
make
make install

これでchaincoindが生成されればほぼ作業完了。
ちなみにServerMans@VPSの最安プランだとビルドに何十分もかかります。

・コンフィグファイルchaincoin.confを作成する

設定用の .chaincoinフォルダに移動する
cd ~/.chaincoin/

もし上記ディレクトリが無ければ
mkdir ~/.chaincoin/
cd ~/.chaincoin/

空ファイルを作成する
touch chaincoin.conf

テキストエディタnanoで開く
nano chaincoin.conf

下記3行を入力してCTRL+Oで保存しCTRL+Xで脱出。
rpcuser=任意のユーザ名
rpcpassword=任意のパスワード
server=1

下記コマンドを実行し”Chaincoin server starting”が表示されればOK。
chaincoind –daemon

—-※レンタルサーバによっては下記エラーが出ます。
「chaincoind: error while loading shared libraries: libevent-2.0.so.5~…」
その場合の回避方法
cd /usr
mkdir /lib64
ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5
nano /etc/ld.so.conf.d/libevent.conf

nanoエディタで下記1行を記述してCTRL+Oで保存、CTRL+Wで脱出
/usr/local/lib

内容を反映させる
ldconfig

再び chaincoind –daemon を実行してエラーが出なければ成功。
—-エラー回避方法ここまで

マスターノード用ウォレットアドレスを生成。
これで表示されたxxxxxxxxxxxxxxxxの位置にある英数列をコピーする。
chaincoind getaccountaddress 0
xxxxxxxxxxxxxxxx

CRYPTOPIAなどでCHCを1000.001以上購入し、上記ウォレットアドレスに送金する。
手数料を払った後、このアドレスに”1000.00000000″ピッタリ送金しないとアウト。

マスターノード用privkeyを生成。
この英数列もコピーする。このキーは厳重に管理しませう。
chaincoind masternode genkey
xxxxxxxxxxxxxxxxxxx

この時点でサービスを停止させる。
chaincoind stop

再びnanoでコンフィグファイルを編集開始。
nano ~/.chaincoin/chaincoin.conf

さっき入力した3行の下に4行を追記する。
listen=1
masternode=1
masternodeprivkey=マスターノード用privkey
masternodeaddr=VPSのIPアドレス:11994

マスターノードモードでサービス開始。
chaincoind –daemon

このままひたすら数時間待つ。
chaincoind getinfo
で”balance” : 1000.00000000″と表示されればブロック同期完了。

下記コマンドで送金元(CRYPTOPIAなど)のアドレスを含むトランザクションが
表示されていることを確認する。
chaincoind listtransactions

そして最後にマスターノード起動。
chaincoind masternode start

これで”successfully started masternode”と表示されたら少し待ってから
chaincoind masternodelist full VPSのIPアドレス

「サーバのIPアドレス:ポート: ENABLED ~…」が出ればOK。
これでCHCマスターノードが起動完了です。

~ 追記 2017/08/15 AM9:25 ~

1日経って残高をチェックしてみました。
chaincoind getinfo

“balance” : 1002.00000000″

わーい、2CHC増えてるヽ(´▽`)ノ
ちなみに今日のレートだとだいたい57円くらい。
これが10回発生すればVPSレンタル代はペイできるっすね。

なお、次のマスターノードはPieCoinの予定っす。

~追記 2017/08/27 13:49~
slackで「古いバージョンだとブロック1245400より先が同期できないよ!」と
注意メッセージが届いたので下記の通り対処。

mv chaincoin chaincoin.old
git clone https://github.com/chaincoin/chaincoin.git
cd ~/chaincoin/
./autogen.sh
./configure –without-gui
make
make install
chaincoind –daemon
chaincoind masternode start

データディレクトリ./chaincoin/は変化していないのでそのままでOK。


広告エリア