ZenCash セキュアノード設定 (3) : ノードの条件設定
ステーキングの設定
次に、セキュアノードにおいてシールドされたアドレス(Z アドレス)が存在するかどうか確認しましょう。
zen-cli z_listaddresses
もし存在しない場合、新たにノード上に Z アドレスを作成します。
zen-cli z_getnewaddress
Swing ウォレットから、4・5 回に分けて0.05 ZEN 程度をこの Z アドレスに送付してください。この Z アドレスには合計で 0.15 ZEN 程度(@kn39kn39 さん、ご指摘ありがとうございます!)あると良いでしょう。以下のコマンドから、”private” という部分を確認してください。
zen-cli z_gettotalbalance
送付後も “private” が 0 である場合、ブロックチェーンが完全に同期されていないということが考えられますので、しばらくお待ちください。最初から同期しますので、これには24時間以上かかることがあります。なお、ブロックチェーン同期状況については以下のコマンドから確認することができます。
zen-cli getinfo
または
watch zen-cli getinfo
追跡アプリの設定
次に、セキュアノードの状況を追跡するためのアプリをインストールしていきます。なお、これをアップグレードする場合は こちら の記事を参照してください。
まず、npm と Node.js をインストールします。
sudo apt -y install npm
sudo npm install -g n
sudo n latest
次に、追跡アプリのリポジトリをクローンし、ノードモジュールをインストールしていきます。
mkdir ~/zencash
cd ~/zencash
git clone https://github.com/HorizenOfficial/secnodetracker.git
cd secnodetracker
npm install
それでは、追跡アプリの設定を行なっていきます。設定にあたっては、先ほどの T アドレスおよび、お知らせを受け取るためのメールアドレスが必要となります。
node setup.js
“Staking transparent address” に先ほどの T アドレスを、”Alert email address” にメールアドレスを、”IP address version used for connection” には 4 を、”Region code” はデフォルトで構いません。そのままエンターキーを押してください (“eu” または “na” となるかと思います)。
設定が完了したら追跡アプリを実行し、問題がないことを確認してください。
node app.js
設定がうまくいけば、以下のサイトからノードの状況を確認することができます(例えばノードの登録先が “ts1.eu”(下記画像を参照)であれば “Europe 1″(https://securenodes.eu.zensystem.io/)を、”ts3.na”(下記画像を参照)であれば “North America 3″(https://securenodes3.na.zensystem.io/)ご確認ください)。”Search” という欄に FQDN を入力することによって確認が可能です:
Europe 1 -> https://securenodes.eu.zensystem.io/
Europe 2 -> https://securenodes2.eu.zensystem.io/
Europe 3 -> https://securenodes3.eu.zensystem.io/
Europe 4 -> https://securenodes4.eu.zensystem.io/
North America 1 -> https://securenodes.na.zensystem.io/
North America 2 -> https://securenodes2.na.zensystem.io/
North America 3 -> https://securenodes3.na.zensystem.io/
North America 4 -> https://securenodes4.na.zensystem.io/
状況確認ができたら、ひとまず Ctrl + C により追跡アプリを終了させてください。
次に、ターミナルを閉じた後もアプリが実行されるように設定を行なっていきます。以下のコマンドを入力してください。
cd ~/zencash/secnodetracker/
sudo npm install pm2 -g
pm2 start app.js --name securenodetracker
アプリがブート時に実行されるようにします。
pm2 startup
これによりターミナルに “sudo” から始まるコマンドが出力されますから、これをコピーして実行してください。
次に、monit の設定を行います。まずはインストールです。
sudo apt install monit
zend をスタートさせるためのファイルを作成します。
vim ~/zen_node.sh
以下を入力してください。
#!/bin/bash
PID_FILE='/home/[ユーザー名]/.zen/zen_node.pid'
start() {
touch $PID_FILE
eval "/bin/su [ユーザー名] -c '/usr/bin/zend 2>&1 >> /dev/null'"
PID=$(ps aux | grep zend | grep -v grep | awk '{print $2}')
echo "Starting zend with PID $PID"
echo $PID > $PID_FILE
}
stop () {
pkill zend
rm $PID_FILE
echo "Stopping zend"
}
case $1 in
start)
start
;;
stop)
stop
;;
*)
echo "usage: zend {start|stop}" ;;
esac
exit 0
このファイルを実行可能にします。
chmod u+x ~/zen_node.sh
次に、monit の設定を 行なっていきます。
sudo vim /etc/monit/monitrc
以下をファイルの一番下に入力してください。
### added on setup for zend
set httpd port 2812
use address localhost # only accept connection from localhost
allow localhost # allow localhost to connect to the server
#
### zend process control
check process zend with pidfile /home/[ユーザー名]/.zen/zen_node.pid
start program = "/home/[ユーザー名]/zen_node.sh start" with timeout 60 seconds
stop program = "/home/[ユーザー名]/zen_node.sh stop"
次に、設定を読み取ります。
sudo monit reload
そして、monit を実行します。
sudo monit start zend
これで monit の設定は完了です。monit によるモニタリングの状況は、以下のコマンドで確認可能です。
sudo monit status
これにより、zend が実行され続けるようになり、ストップされた場合でも、再起動することになります。本当に zend を終了させる必要がある場合は、以下のコマンドを使用してください。
sudo monit stop zend
最終テスト
サーバーを再起動させた後も、全ての設定がうまく機能することを確認しましょう。
sudo reboot
再起動後、ssh [ユーザー名]@[VPS名]
によって再びサーバーに接続し、以下のコマンドで状態を確認しましょう。
sudo monit status
pm2 status
zen-cli getinfo
zen-cli getnetworkinfo
以上で、基本的なセキュアノードの設定が完了です!
感想等ございましたら、ZenCash の各種ソーシャルメディア、もしくは下記のコメント欄にてぜひお聞かせください?