Symbol node 起ち上げ(ふりーはんど版)【"b" にも対応してます】


Symbol node を symbol-bootstrap を利用して手動で起ち上げたい人向け

Symbol-bootstrap を動作させる環境を作る

※この部分は 手入力で動作環境を構築する方法を述べています
自動で環境構築を行う "b" を使用すると
Symbol node の スタートから始める事ができます
【"b" Symbol bootstrap 動作環境 自動構築 shellscript(ベース構築)】

今回は t4vps c8プランを使用
※仮起ち上げの為スペックが低いプランを使用しています 実際は c16+faster ssd オプション以上でまともに動作します
若しくは 相応のスペック の vps を使用して下さい

ここでは user名を test8
IPアドレスは 212.24.106.178
sshdポート は 22 から 123 へ変更とする
※(この記事では 123 としてますが 1023 迄はシステムが使用しているので
1024~65535 の間にして下さい)
とする

各自で変更して作業して下さい

teratermを開き rootに sshdポート 22/root のパスワードでログイン
 
新しい user を作成

adduser test8

 
新しい user に sudo権限を付与

gpasswd -a test8 sudo

 
sshd port を変更する

vi /etc/ssh/sshd_config

"i" と打つと 入力が出来る様になります


これを

こうします

変更の入力が終わったら [esc]を押下 ":wq" と打って下さい 変更が保存されます
※!注意! 上記の作業後は root と root パスワード では ログイン出来なくなります
この作業後は 新規で作成した sshd port/アカウント/パスワード でのみ ログイン可能です
 
sshd_config の変更を反映させる

systemctl restart sshd

 
ufw インストール

apt-get install ufw

 
sshd port を開く

ufw allow 123/tcp

 
ufw を有効にする

ufw enable

 
ufw の状態を確認する

ufw status

 
docker インストール

curl https://get.docker.com | sh

 
user に docker 実行権限を付与

usermod -aG docker test8

 
docker 起動 

systemctl start docker

 
docker を常時起動させる

systemctl enable docker

 
docker のバージョン確認

docker --version

 
docker-compose インストール

curl -L https://github.com/docker/compose/releases/download/v2.3.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

 
docker-compose の実行権限の付与

chmod +x /usr/local/bin/docker-compose

 
docker-compose のバージョン確認

docker-compose --version

 
node.js インストール

curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -

 

apt-get install -y nodejs

 
node.js のバージョン確認

node -v

 
npm のバージョン確認

npm -v

 
jq インストール

apt-get install jq

はい!
ここまでで symbol-bootstrap を 動作させる環境は 出来上がりました
この後からは 別に teraterm を開いて node の構築を行います

!!!!!注意!!!!!

※まだ root で ログイン している方の teraterm は 閉じないで下さい
teraterm を 新しい sshd ポート/user/パスワードで ログインする
ログイン 出来たら こちらへ
【symbol-bootstrap を使って node の構築をする】

 
↓↓↓新しく作成した sshd ポート/user/パスワードで ログイン 出来ない時↓↓↓

※ sshd port の番号によっては ログイン出来なくなる場合があります
その場合は root で ログイン 中の サーバで 以下 "re" を実行すると sshd port の設定を変更出来ます
ディレクトリ は どこにいても 実行出来ます

sshd port 再設定 script "re"

vi re

 
"i" と打って 以下をコピペして下さい

ufw reset
#new sshd port
echo "going to set new sshd port setting"
echo "??? please input new sshd port ???"
read sshd
#----------
echo "now remakeing new sshd setting..."

#sshdset
sed -i -e s/".*Port .*"/"Port $sshd"/ /etc/ssh/sshd_config
systemctl restart sshd

#ufwset
ufw allow $sshd/tcp
ufw enable

echo "now reset sshd port to" $sshd

"ESC" を押して 編集モード終了
":wq" を入力 "ENTER" で保存終了
 
"re" を実行します

sh re

下図の様に 入力を進めて下さい

これで sshd port の変更が完了します user名 と パスワードの変更はありませんので
sshd port だけを変えて ログインを試して下さい
新しい user で ログイン 出来た時点で rootでログインしていた方は閉じて下さい
 

Symbol node の スタート("b" を使用した場合 ここから)

"b" symbol-bootstrap 動作環境構築 shellscript は こちら

☆おまけ☆node を スタートしてみた! 実況だぞ

symbol-bootstrap を使って node の構築をする

ここからは root で無く新しい sshd port/user/パスワードで ログインして作業します

作業ディレクトリの作成

mkdir symbol-bootstrap

 
作業ディレクトリに入る

cd symbol-bootstrap

 
bootstrap インストール

sudo npm install -g symbol-bootstrap

 
custom.yml の作成

vi custom.yml

"i" で入力開始
サーバ の IP に対応する ドメイン が 判らない時は ①
ドメイン が 判った時は ② を コピペ して保存して下さい

① custom.yml の内容(https 無し用)

こちらは https 無しの場合の コピペ 内容です
サーバ の IP に対応する ドメイン が どうしても判らない時は こちらを コピペして下さい
以下をコピペして保存 保存方法は ":wq"(enter) 保存せずに終了は ":q!"(enter)

nodes:
    -
        host: 212.24.106.178
        friendlyName: test8

        maxUnlockedAccounts: 100
        transactionSelectionStrategy: oldest
        minFeeMultiplier: 10
        beneficiaryAddress:

        maxChainBytesPerSyncAttempt: 50MB
        messageSynchronizationMaxResponseSize: 5MB
        blockDisruptorMaxMemorySize: 1000MB

※ hostの "212.24.106.178" の部分は 自分の vps の IP address を使用して下さい
※ friendlyName の "test8" の部分は 自分が付けたい名前にして下さい

② custom.yml の内容(https あり用)

こちらは https ありの場合の コピペ 内容です
サーバ の IP に対応する ドメイン が 判った場合は こちらを コピペ して下さい
以下をコピペして保存 保存方法は ":wq"(enter) 保存せずに終了は ":q!"(enter)

nodes:
-
    host: ドメイン
    friendlyName: test8

    maxUnlockedAccounts: 100
    transactionSelectionStrategy: oldest
    minFeeMultiplier: 10
    beneficiaryAddress: 

    maxChainBytesPerSyncAttempt: 50MB
    messageSynchronizationMaxResponseSize: 5MB
    blockDisruptorMaxMemorySize: 1000MB

httpsProxies:
    -
        excludeDockerService: false

サーバ のIP に対応する ドメイン が判らない時は下記の サイトで確認する事が出来ます
ドメイン/IPアドレス サーチ 【whois情報検索】

※上記の ファイル は 記述の 1例 です
ファイル の 中にある 行(項目)で

○ maxUnlockedAccounts: 100
○ transactionSelectionStrategy: oldest
○ minFeeMultiplier: 10
○ beneficiaryAddress:

↑ これらの項目は 御自分で任意の値に書き換える事が出来ます
他にも いろいろ記述出来る項目があります
探して見て下さい

target作成

ここは testnetは① mainnetは②を実行して下さい

① testnet の場合

symbol-bootstrap config -p testnet -a dual -c custom.yml

 
② mainnet の場合

symbol-bootstrap config -p mainnet -a dual -c custom.yml

※ここで パスワードの入力を求められますので
自分が考えた パスワードを入力して下さい
ここで入力した パスワードは 設定変更時等に毎回聞かれます 忘れない様にして下さい

 
compose 実行

symbol-bootstrap compose

 
bootstrap のスタート

symbol-bootstrap run -d

 
起動できたかを確認する

symbol-bootstrap healthCheck

 
node情報 の確認

curl localhost:3000/node/info|jq

height の確認

curl localhost:3000/chain/info|jq

node address の確認

symbol-bootstrap decrypt --source target/addresses.yml --destination d_addresses.yml

 
d_addresses.yml と言う名前の ファイルが作成されます

cat d_addresses.yml

内容が表示されます main の 項目は重要です
 

内容をコピー 外部に保存したら 削除して下さい

rm -f d_addresses.yml

ここまで出来たら もう Symbol Node は動作しています
https化や 他の設定方法は
検索で出てくると思いますので

順繰りにマスターして行けば良いでしょう

symbol-bootstrap に アップデートがあった時

Symbol-bootstrap の アップデートがあるかは
https://github.com/nemtech/symbol-bootstrap
をチェックして下さい

Symbol-bootstrap の アップデート方法
作業ディレクトリに入る(ここでは symbol-bootstrap)

cd symbol-bootstrap
symbol-bootstrap stop

 
target ディレクトリの バックアップを取る事をお薦めします

cp -r target target.bak

 
symbol-bootstrap の更新〜スタート(mainnet の場合)

sudo npm install -g symbol-bootstrap
symbol-bootstrap start -p mainnet -a dual -c custom.yml --upgrade -d

これで symbol node の アップデート 作業は終了です

おすすめのページ
https://nemlog.nem.social/blog/52819

とか
https://nemlog.nem.social/blog/58808