マスターノードのインストール手順をスクリプト化して、きちんと作り直そうと思った。
スクリプトなら手元のPCの仮想マシンで linux を使って....
あれ?
セキュリティが不安だったら、最初から仮想マシンでやれば済んだのか?
どうせウォレットは常時接続が不要だし orz
もう寝る。
2018年09月05日
セキュリティが不安なら仮想マシンにすりゃよかった
posted by とーふ at 20:02| マスターノード
Vultrでマスターノード増設 (その2)
まず、新しいサーバ側で操作
1.ソフトを準備する
# 自分用の実行ファイルを保存するディレクトリを作る
mkdir ~/bin
#ダウンロード
wget http://charitycoin.live/resources/charitycoin.linux.zip
#展開
unzip charitycoin.linux.zip
unzip linux.zip
cd linux-master
unzip charityd.zip
chmod +x charityd charity-cli
mv charityd charity-cli ~/bin
#一旦ログアウトしてログインしなおす
# または、単にログイン処理をやり直す
. .profile
2.ファイアウォールの解除
# charity のポートを許可する
sudo ufw allow 3300
sudo ufw reload
実行例
masternodes@bjsoftab4:~$ sudo ufw allow 3300[sudo] password for masternodes:Rule addedRule added (v6)masternodes@bjsoftab4:~$ sudo ufw reloadFirewall reloaded3.マスターノード準備# 起動すると、最小限必要なファイルを作成するcharityd# 指示に従って、rpcuser と rpcpassword の行のファイルを作成する。# charity.conf ファイルの内容を参照して、rpc で通信するので、表示されるとおりで問題なし。# 気になるなら、pwgen 64 1 とかで再生成してもいいです。(パスワードを覚えておく必要はなし)nano ~/.charity/charity.conf# デーモンとして起動するcharityd -daemon# これをやっておけば、ログアウトしてもデーモンは動き続けます。# コマンドラインで、動作状態をチェックする# 何回か実行して、blocks が増えていれば、同期中です。charity-cli getinfo4.ウォレット側準備ここからはウォレット側。古いほうの linux サーバを使います。# 同期している間に、送金先の新アドレスを作成しますcharity-cli getaccountaddress mn2# ウォレットのアドレスがでるので、メモする。# マスターノードのプライべートキーを作成する。charity-cli masternode genkey# プライベートキーがでるので、メモする。さっき作成したウォレットのアドレスに、CryptBridge などから「ぴったり 1000 コインを一回で送金する」getinfo していると、そのうち送金が完了し、balance が、さっき送信したのと合わせ、 2000 以上になるはず。また、outputs の結果が変わります。charity-cli masternode outputs{"4f40008f84a7544509283c3c419a91ab9ec5d5fb74c6818b294fca2ccce87c98" : "0"}一つ増えましたcharity-cli masternode outputs{"4f40008f84a7544509283c3c419a91ab9ec5d5fb74c6818b294fca2ccce87c98" : "0","b3aa01b5d322a02546dc5d03b86c8ffe60d79e2a955e72cc61df3dfe57c71f8b" : "0"}5.新マスターノードの設定ファイルを編集する新マスターノード側で操作します。# まず、止めるcharity-cli stop# ifconfig とかで、 IPアドレスを確認する例えば、10.10.10.10# .charity/charity.conf を編集するrpcallowip=127.0.0.1server=1listen=1daemon=1maxconnections=256masternode=1masternodeprivkey=さっき作ったマスターノードのプライべートキーexternalip=IPアドレス# 再起動charityd -daemon6.マスターノードを追加する今度は、ウォレット側で操作します。# .charity/masternode.conf を編集する# 今度は、mn2 の行を追加します。mn2 IPアドレス:3300 マスターノードのプレイべートキー output_txid output_indexmn1 10.10.10.10:3300 jfafdkfjadfjadfjdf 4f40008f84a7544509283c3c419a91ab9ec5d5fb74c6818b294fca2ccce87c98 0mn2 10.20.20.20:3300 afht3dfhshsfhjfaff b3aa01b5d322a02546dc5d03b86c8ffe60d79e2a955e72cc61df3dfe57c71f8b 0みたいな感じcharity-cli stopcharityd -daemon# 設定確認charity-cli masternode list-conf{"masternode" : {"alias" : "mn1","address" : "153.126.134.220:3300","privateKey" : "7UVHachN1M86zVBaEGDrherxvbwsHFcjVZqyfW6xsr7x4ptssSo","txHash" : "4f40008f84a7544509283c3c419a91ab9ec5d5fb74c6818b294fca2ccce87c98","outputIndex" : "0","status" : "ENABLED"},"masternode" : {"alias" : "mn2","address" : "45.32.53.231:3300","privateKey" : "7Vt2znS5xB4LjNKbKt1UAJXFaAT7s5zLvbGj66D123hPZQY6ckv","txHash" : "b3aa01b5d322a02546dc5d03b86c8ffe60d79e2a955e72cc61df3dfe57c71f8b","outputIndex" : "0","status" : "MISSING"}}7.マスターノードを起動するウォレット側で操作します。ウォレット側から、マスターノードに対し、スタート指示を出します。# マスターノード起動charity-cli masternode start-alias mn2{"alias" : "mn2","result" : "successful"}8.マスターノード状態を確認新サーバーで操作します。# マスターノード状態確認charity-cli masternode status{"vin" : "CTxIn(COutPoint(0000000000000000000000000000000000000000000000000000000000000000, 4294967295), coinbase )","service" : "[::]:0","status" : "Not capable masternode: Hot node, waiting for remote activation."}# この場合は、起動できてないので、7.に戻って、起動指示を出しなおしてみます。# 以下になれば、OKです。# マスターノードの同期待ちなどかかるので、気長に。charity-cli masternode status{"vin" : "CTxIn(COutPoint(b3aa01b5d322a02546dc5d03b86c8ffe60d79e2a955e72cc61df3dfe57c71f8b, 0), scriptSig=)","service" : "45.32.53.231:3300","pubkey" : "CMwKq5wopZAHs2DB5PuTF8DpuFXvFKB6QT","status" : "Masternode successfully started"}posted by とーふ at 20:01| マスターノードVultrでマスターノード増設 (その1)
前提OS:Vultr Ubuntu 16.04 LTS契約のやり方は、後で追記するので、とりあえずは、各自確認ください(汗
ということで、ちゃんと、HTML ファイルにしました。
http://www.geocities.jp/bjsoftab4/MasterNodes/Vultr.htm事前準備:1.ユーザ追加root でリモートログインできたままにすると踏み台にされたりするので、ユーザーを作る。# masternodes というユーザを作るadduser masternodes# masternodes が、sudo を使えるようにする。usermod -aG sudo masternodes画面表示Adding user `masternodes' ...Adding new group `masternodes' (1000) ...Adding new user `masternodes' (1000) with group `masternodes' ...Creating home directory `/home/masternodes' ...Copying files from `/etc/skel' ...New password:Retype new password:passwd: password updated successfullyChanging the user information for masternodesEnter the new value, or press ENTER for the defaultFull Name []:Room Number []:Work Phone []:Home Phone []:Other []:Is the information correct? [Y/n] y# ここで、いったんログアウト# masternodes でログインして、sudo が、できることを確認します。masternodes@bjsoftab4:~$ sudo id[sudo] password for masternodes:uid=0(root) gid=0(root) groups=0(root)masternodes@bjsoftab4:~$ sudo bash# ssh で リモートログインできないように設定します。sed -e "/^PermitRootLogin/cPermitRootLogin No" -i /etc/ssh/sshd_config# 念のため、再起動reboot now2.セキュリティ設定#まずファイアウォール自体を無効にしておくufw disable#デフォルトはアクセス禁止にする