SRX NODEの立て方　ももたる版🍑（2024/11/12）

### <b>#<font color="Red">V</font><font color="Orange">P</font>S<font color="LightGreen">選</font><font color="Green">び</font></b> 

まずNodeを立てる準備としてVPSサーバを借りてもらいます

***VPSを希望の方は下記のLinkよりお入りください***
Link　https://qiita.com/chorinam/private/cadffaa5ed1a9dcbc40e


### VPSの必要スペック　Nodeにつき1台40000枚SRX必要（2024/11/12時点）：将来この枚数が変わる可能性もあるのでご注意ください




![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/e417a04d-26d9-54cc-5ec2-bbde97774217.png)

















##<b><font color="blue">ターミナル</font></b>
いよいよNODE建てる準備が整いました
まずWindowsのマークを右クリックしてその中にあるターミナルもしくはWindows　Powershellを選択してください
![スクリーンショット 2023-10-26 090430.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/ba4920b8-1777-2be8-8dea-d2665abe3434.png)

・黒い画面が出てきます
ここにいまからコマンドを入れていってもらいます
![スクリーンショット 2023-10-26 090935.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/7c29650c-49d9-8b49-88dc-c0195a8fa50a.png)

1）rootでログイン

IP_ADDRESSにはVPSで契約したあなたのPrimary　IPを入れてください。
passwardを聞かれますので　passwordコピー→右クリック１回→Enterでペーストしてください
<b>（注意：passwordをペーストしてますが、目視確認できません。裏ではきちんとペーストできてますのでそのまま進んでください）</b>

```
ssh root@IP_ADDRESS
```
2)　Linux Update＆Upgrade
これをペーストしてEnter
```
sudo apt update -y && sudo apt upgrade -y && sudo apt install -y git nano ufw curl tree htop unzip && sudo apt autoremove -y && sudo apt autoclean -y
```
3)　userの変更

・下記の画像では、doraemonとしてますが各自好きな名前に変更してください

・Inumoarukeba10bouniataruはここでのpasswordになります。

下記画像password（Inumoarukeba10bouniataru）のところに自分で新しく決めたpasswordを挿入してください。（なるべく長い英数字のpasswordにすること）

```
sudo groupadd doraemon
```

```
sudo useradd -p $(openssl passwd -6 Inumoarukeba10bouniataru) doraemon -m -s /bin/bash -g doraemon -G sudo
```

#新しくターミナルを開いてログインテスト
ではあたらしいUserでログインできるかテストしてください

```
ssh doraemon@IP_ADDRESS
```
新しく作成したpasswordコピー→右クリック１回→Enterでペーストしてください
ログイン出来たら成功です

4)　hostname変更
ServaRicaのHostnameはデフォルトでrootとなっていますのでここを変更します。

 
 4-1）hostnameとIPAdressの確認

 ```
 hostnamectl
 ```
 このコマンドを入力したらrootと表示されます。
 これを今から変更していきます。
 
 4-2）
 今回root→srx01と名前を変更してます。
 名前はあとで見て自分でわかるものに変更してください。
 
 ```
 sudo hostnamectl set-hostname srx01
 ```
 4-3）hostsファイルの中身はまだrootのままですので編集して書き換えます。
     
 ```
 sudo nano /etc/hosts
 ```
 

下部画像の紫枠のところを消して自分のHostnameに変更完了後、
　Ctl+Xを同時に押して　ｙ　そしてEnterで書き換えが保存されます。（ここでは紫枠の中身がPlugin001ですが画像はお借りしてるものですので今回の場合だとsrx01をいれます）

![スクリーンショット 2023-11-30 095424.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/4f2380c2-f116-9e44-c832-1647cee6d75b.png)

追記　最近Contaboではこの方式でHostnameを変更して再起動してもこの/etc/hostsファイルが上書されてしまいます。ですのでそれをできないように設定をします

```
sudo nano /etc/cloud/cloud.cfg
```
- update_etc_hostsを＃でコメントアウト　
- これで　rebootした後でも　hostsのファイルは上書きされません
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/7b537e9a-cb42-4870-88e5-f0f262e0a659.png)

### 注意：　すでにNODEを立てられてる方はもうcloud.cfgは触らないでください　NODEが壊れます
この話は新規で立てる方にのみ適用されます


4-4）再起動
```
sudo reboot
```
4-5)　新しいターミナルでログインし直す。
```
hostnamectl
```
<INS>ここでHostnameが自分で変更したものに切り替わってるか確認</INS>

5)ufwの設定
```
sudo ufw status
```
結果　デフォルトではinactiveと表示される。

これをactiveにして有効化する
```
sudo ufw enable
```
![スクリーンショット 2024-11-13 140432.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/cc164851-a5a1-b308-8721-767325f04920.png)
y+enterを押す
```
sudo ufw status
```
結果　active　※これでufwが有効化された

5－1）ssh用にPort 12345を開放
※ここでは12345としてるが自分で数字は決めてください。10,000から55000の間の数字ならどれでもいいです（ただし14002と28967だけは使わないこと）

```
sudo ufw allow 42365/tcp  
sudo ufw status numbered
```
5-2)sshPortの変更
```
sudo nano /etc/ssh/sshd_config
```
***-------------変更する項目-----------------------------------
Port 42365 ・・・sshで使う任意のポート
PasswordAuthentication yes ・・・公開鍵認証にすればNo
PermitRootLogin no
PermitEmptyPasswords no
UsePAM no
AllowUsers doraemon  ・・・ここはUser名を入れる
------------------------------------------------------***




<INS>#Port22の下にPort 42365を追加します</INS>
![スクリーンショット 2024-11-12 172816.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/f53a57ba-47bb-ad34-2e4a-cba4bf1e24c0.png)

![スクリーンショット 2024-11-12 173500.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/f57d543b-6784-4132-e613-7231c9fc73b8.png)
![スクリーンショット 2024-11-12 173555.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/56fce501-8313-954a-e6f7-6402fcba9ba0.png)
![スクリーンショット 2024-11-12 173615.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/567a17c9-f5ff-016f-3c64-96b855c71f03.png)


Ctrl+x　同時に押して　ｙ　そしてenterでこの変更が保存されます。

5-3）sshの設定変更を反映させるためにsshを再起動
```
sudo service ssh restart
```
5-4)　Firewall(ufw)を確認
これでPort12345が反映されてるか確認できます

```
sudo ufw status verbose
```


5-5）sshPortとして使わなくなったPortを閉じる
先ほどPort22がありましたが、セキュウリティ上狙われやすいので閉じていきます
```
sudo ufw status numbered
```
上のコマンドで確認してPort22が残ってたら下記のコマンドで削除してください。
なければここは飛ばして<b>6）</b>に進んでください。
```
sudo ufw delete  頭番号
```
y + enter


<b>6）</b>
```
sudo ufw status numbered
```
<INS>Port12345のみ解放されてるのを確認</INS>

![スクリーンショット 2023-10-26 190113.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/c81f7949-4800-75ac-67d9-8150d6da2d1b.png)

***SRXで使用されているPortも開放する***
```
sudo ufw allow 14002
sudo ufw allow 28967
sudo ufw allow 28967/udp
```
再読み込みさせる
```
sudo ufw reload
sudo ufw status numbered
```
`ssh.socket`の設定を変更するための手順は以下の通りです。この例では、SSHのポートを変更して、``ポートを使用するように設定します。

### ssh.socketの作成手順 

1. **`ssh.socket`の状態を確認**:
   現在の状態を確認します。
   ```bash
   sudo systemctl status ssh.socket
   ```

2. **`ssh.socket`を有効にする**:
   `ssh.socket`が自動的に起動するように設定します。
   ```bash
   sudo systemctl enable ssh.socket
   ```

3. **`ssh.socket`を開始する** (もしアクティブでない場合):
   `ssh.socket`が開始されていない場合は、開始します。
   ```bash
   sudo systemctl start ssh.socket
   ```

4. **`ssh.socket`の状態を再確認**:
   再度、状態を確認して、`ssh.socket`が起動していることを確認します。
   ```bash
   sudo systemctl status ssh.socket
   ```

5. **`ssh.socket`の設定ファイルを編集**:
   ポートを変更するために、設定ファイルを編集します。`nano`エディタを使って`/lib/systemd/system/ssh.socket`を開きます。
   ```bash
   sudo nano /lib/systemd/system/ssh.socket
   ```

6. **ポート番号を変更**:
   `ListenStream`行のポート番号を変更します。例では、`12345`ポートを使用する設定です
   
   ```ini
   [Unit]
   Description=OpenBSD Secure Shell server socket
   Before=sockets.target ssh.service
   ConditionPathExists=!/etc/ssh/sshd_not_to_be_run

   [Socket]
   ListenStream=12345  # sshポートに変更する。ここでは`12345`。
   Accept=no

   [Install]
   WantedBy=sockets.target
   RequiredBy=ssh.service
   ```

7. **設定を保存して終了**:
   `nano`エディタで編集したら、`Ctrl + X`、`Y`、`Enter`で保存して終了します。

8. **設定を反映させる**:
   設定を反映させるために、`systemd`を再読み込みします。
   ```bash
   sudo systemctl daemon-reload
   ```

9. **SSHサービスの再起動**:
   設定を適用するために、`ssh.socket`を再起動します。
   ```bash
   sudo systemctl restart ssh.socket
   ```

10. **ポートが変更されているか確認**:
    `ss`または`netstat`を使用して、SSHサーバーが新しいポートでリッスンしていることを確認できます。
    ```bash
    sudo ss -tuln | grep 12345
    ```
    ***ここで新しくターミナルを開いて接続できるか必ず確認してください。***
    Port12345でログインできるか確認
<font color="red"><b>[重要]</b></font><font color="red">必ず新しいターミナルを開く。現在開いてるターミナルは間違って閉じないこと</font>
```
ssh -p 12345 doraemon@IP_ADDRESS
```
これでVPSにログインできたらPort変更成功です
    

これで、`ssh.socket`が`12345`ポートでリッスンするように設定されます。







7)　SRXnodeを実装
```
git clone https://github.com/StorXNetwork/Storage-Node.git
```
```
cd ~/Storage-Node
sudo bash bootstrap.sh
```
***※ウォレットアドレスとEMAIL(これはお使いのメールなんでもいいです)を入力する
      Please enter your XDC Address for StorX Rewards :- 
      Please enter your Email Address :- 
	※IDファイルを作成が聞かれるのでyを入力
	Do you want to create an identity file? (y/n) y***
***![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/dfa558c3-83d2-ae02-fcb7-c5994c0c8b3c.png)***
![スクリーンショット 2024-11-12 192057.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/0ccf4ca0-bb15-9d43-745c-802bedcd6f5e.png)





```
cd Storage-Node/ && sudo bash check-logs.sh
```
***30分後ぐらいで終了しますので上のコマンドで確認してください。（このコマンドは下記のメッセージが出るまで何度でも入力しても構いません）
	完了したら下記の文章が書いてありますのでこれを確認後、次へ進みます。
	Identity file created successfully. Moving files to the correct location.
	Setup completed successfully. You can now start the node by sh start-node.sh***
![スクリーンショット 2024-11-12 192238.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/fcd4ea8b-8076-8183-55bd-34e0bdc24003.png)

 
 

＊＊＊※Walletについて＊＊＊
D'cent　walletとXDCPay 3.0のどちらかでSRX入れるためのWallet作成してください
この時のWalletアドレスを今回のノードに使います
ガス代はXDCですので1枚入れておいて　SRXは40000枚入れとけばOKです。
今回　Walletの作成は省略します








```
sudo bash start-node.sh
```
![スクリーンショット 2024-11-12 193015.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/d04338fd-c7be-fa04-6991-bfdc7214dee2.png)
画像のようにsuccessfillyとでればNodeが活動開始です

※きちんとコンテナが設置され動いてるのか確認する
```
sudo bash check-logs.sh
```
![スクリーンショット 2024-11-12 193354.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/b39f7193-3ba3-f64d-bc21-b32b3773da78.png)
    ***上の画像のようになってたらOKです　ここでerrorがたくさん流れてるときは初めから建て直してください。***
    元の画面に戻るときはctrl+cで戻れます
    
※セットが正常に実行されていることを確認する手順：

ステップ 1 : - ブラウザを開き、以下のURLを入力してください。作業を開始するためのURLは以下の通りです。

URL: http://あなたのIPアドレス:14002

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/ba7f2296-3f5a-82c1-2ab3-f3ec1b84e4ad.png)

















8)　Stakingの方法
下記Linkから入りwalletと接続してください。
***注意＊chromeで下記Linkは開いてください***
Link:(http://farmer.storx.io/staking)

![スクリーンショット 2023-10-28 142400.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/26f45cdc-3531-32ac-42e3-61b8edd0453c.png)
![スクリーンショット 2023-10-28 142413.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/8b35225f-b6c2-71d5-82f3-e1ca0ab8b4a5.png)

[参考：YouTube動画](https://youtu.be/7nNEPRj3gYs?si=ribNXox3ydEdKpbN)
・下記画像のように<b><font color="gree">TRUE</font></b>となればStakingが開始できます。
<b>(注意！！reputationが１０以上にならないとTrueにならないのでしばらく様子見てください）</b>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/99c08d6a-366c-3ac9-2f9c-4571762dbdd4.png)


SRXは<b>40000枚</b>　StakingAmountに数量を入力後、Approveを押してください。
<font color="red">(ガス代にXDC使用しますのでwalletにXDC1枚入れとくこと）</font>


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/53efd847-5328-1882-99f6-a754433eaf35.png)

・そして次に<b><font color="DarkCyan">Stake</font></b>を押してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/379e061d-687b-6e39-37f7-89b4b5704aa1.png)

お疲れさまでした。下記の画像がでればすべて終了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/3f688467-c1e7-0e09-8f35-59db49a69e1b.png)

また　Nodeのバージョンアップ等　補佐するときのコマンドは詳しく
Link:(https://doc.storx.io/storage-node-shell.html)
に書いてありますのでご確認ください



### 追記 ###
``VPSの監視APP``

![スクリーンショット 2024-11-27 163344.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/9de4a67e-0b02-b080-3bff-017aab725d72.png)

今回紹介する監視アプリは50台まで無料ですのでスマホでVPSがきちんと起動してるか、またはNODEが動いてるのか監視できる簡易的な監視アプリとなってます。

最低限これだけでも入れとかないと、もしNODEがダウンしてても気づくことができませんので必ず監視APPは
入れといてください

///ではここから使い方について///
## 右上の⋮ から入ってください
![スクリーンショット 2024-11-27 164114.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/f7eac806-05ce-3aa6-9c84-16f9c9571a9d.png)

次にEditを押す
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/8330159a-6d17-8276-6360-d8af02fe1426.png)

``Portを選択``
``URL　OR　IP　adress ：自分の使用してるVPSのIPアドレスを入力``
``Monitor name：好きな名前``
``Port Type:Custom portを選択``
``Port number ：14002``

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/029bfd2d-60d0-7910-4745-a77048417fd0.png)

最後にSave　changes押して終わり
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2824485/f5fc20f1-f7d2-0320-b25e-99ef17ade398.png)