@nemneshia/symbol-bootstrapのインストール

**注意！bootstrapのアップデートの前に必ず**
**target/addresses.ymlの復号をしておいて下さい！**
**パスワードが通らなくなる事があります！**
```
symbol-bootstrap decrypt --source target/addresses.yml --destination target/bak_addresses.yml

mv target/bak_addresses.yml target/addresses.yml
```
以上の命令で、target/addresses.ymlは復号され、パスワード設定は取り消されます。
nodeのアップデート命令実行時に、パスワードの再設定が出来ます。
　
　
 
2025年 4月に symbolNodeがバージョンアップしました。
ですが、公式では、symbol-shoestringにアップデートはありましたが、
**symbol-bootstrapのアップデートはありません。**
**今後は、symbol-shoestringでのサポートとなる事が考えられます。**
ですが、
**いきなり shoestringに替えるのは難しい**と言った方向けに、
有志の方が、bootstrapをバージョンアップした symbolNodeへ対応させています。
# nemneshia/symbol-bootstrap

https://github.com/nemneshia/symbol-bootstrap

symbolServer 1.0.3.8
rest 2.5.0
mongo 7.0.17
以上のサポートがされています。
基本的に操作命令は同一です。
　
　
nemneshia/symbol-bootstrapを作成した方のページはこちら

https://qiita.com/ccHarvestasya

　
　

この nemneshia/symbol-bootstrapのインストール方法ですが、
公式の symbol-bootstrapを GitHubからインストールする方法とほとんど同じです。
変わるのは git cloneの urlだけです。
　
　
以下は、　nemneshia/symbol-bootstrapのインストールシェルスクリプトの一例です。
HOMEディレクトリにnemneshiaディレクトリを作成、その中でインストール作業をするやり方です。

シェルスクリプトとして実行しなくても、一行ずつ、コピー＆ペーストして実行もできます。


```
#!/bin/bash
cd
sudo npm uninstall -g symbol-bootstrap
rm -rf nemneshia && mkdir nemneshia && cd nemneshia
git clone https://github.com/nemneshia/symbol-bootstrap.git
cd symbol-bootstrap
npm install
npm run build
sudo npm install -g .
symbol-bootstrap --version
```
　
　
インストール出来たかの確認は、以下です。

```
symbol-bootstrap --version
```
@nemneshia/symbol-bootstrap/2.0.4 linux-x64 node-v20.19.0
上記の様な表示が出たら、インストール成功です。
※symbol-bootstrap -v ではバージョンは表示されません。
　
あとこれ 'symbol-bootstrap' って打たなくても 'sb' で動きます。

　
　
　
　
@nemneshia/symbol-bootstrapをインストールしたら、
nodeのアップデートをしますが、今までとやり方は同じです。
```
symbol-bootstrap start --upgrade -d
```
または
```
sb start --upgrade -d
```
　
　
ここでパスワードが通らない事があるので、そうなった場合は、
```
cp bak_addresses.yml target/addresses.yml
```
この命令の後に、nodeのアップデート`symbol-bootstrap start --upgrade -d
`をすると、nodeのアップデートの際にパスワードを再設定する事が出来ます。

**注意**
bak_addresses.ymlは nodeAccountの秘密鍵がそのまま読めてしまうので、安全な場所に移動、保管して下さい。
　
　
　
　
　
　
　
# しまった！やっちまった！って時に
**addresses.ymlの復号`bak_addresses.yml`の作成をせずに、symbol-bootstrapのアップデートを先にやってしまって、パスワードが通らなくなってしまった時には、
以下のツールが用意されています。**

https://www.npmjs.com/package/symbol-bootstrap-util

symbol-bootstrap-utilのインストール
```
sudo npm install -g symbol-bootstrap-util
```
　
作業ディレクトリで
```
cp target/addresses.yml .
```
addresses.ymlのコピーを作業ディレクトリに保存して置いてから
　
　
**①**　
```
symbol-bootstrap-util dec -i target/addresses.yml -o target/addresses_2.yml
```
パスワードを聞かれますので、元々の nodeパスワードを入力して下さい。
これで target/addresses.ymlを復号した target/addresses_2.ymlが作成されますので、
```
cat target/addresses_2.yml
```
で、main/transport/remote/vrfの privateKeyが復号されているのを確認して下さい。
もし privateKeyの欄が
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/582454/2b32f23d-a6db-4a33-b63f-5660999b3a64.png)
だったら　**①**からやり直して、正しいパスワードを入力して下さい。


　
privateKeyの欄に秘密鍵が表示されていたら、**②**に進みます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/582454/862b1026-4a8f-41f0-a62f-2c896433de09.png)
↑の様になっていたら、**②**に進んで下さい。
　
　
**②**
復号した addresses_2.ymlを addresses.ymlに置き換えます。
```
mv target/addresses_2.yml target/addresses.yml
```
　
start --upgradeを実行、nodeアップデート時に nodeパスワードの再設定をします。
```
symbol-bootstrap start --upgrade -d
```
nodeのアップデートの際にパスワードの再設定が出来ます。