PlasmのDusty TestnetでValidatorになる　※途中まで

# Plasm Networkとは
- substrateベースで作成されたレイヤー１ブロックチェーンです。
- 詳しくは[Stake TechnologiesのHP](https://docs.plasmnet.io/v/japanese/)をご参照下さい。

# Validatorチュートリアルをやってみる
- [これ](https://docs.plasmnet.io/workshop-and-tutorial/untitled)をやります。※英語です。
- 彼らは尊敬すべきことにグローバルな立ち位置でサービスを構築しています。
- そのため、日本語HPよりも英語HPの方がバージョンが新しい事になっています。
- 何か手伝えると嬉しいのですが。

# 環境
- Validatorになるためには、24/7でノードを動かし続ける必要があるそうです。
- そのため、ローカルなPCでは難しいと思い、私はAWSでやることにしました。
- 改めて、環境
  - AWS LightSail
  - Ubuntu 18.04

# まずはノードをコンパイル
- dusty-1.1.0バージョンを使います。※結構時間がかかります。
- ワーニングがいくつか出ますが、Errorにならなければ動きます。

```
git clone https://github.com/staketechnologies/Plasm.git
cd Plasm
git checkout -b dusty-release-1.1.0 origin/add/dusty-release-1.1.0
cargo build --release
```

# 実行してみましょう
- 色々とオプションつけていますが、間違った解説をしたくないので、詳細はヘルプを見て下さい。
- 簡単に説明しますと、「安全性に問題はあるけど、外部からweb-socket接続を可能にします」ということだと思っています。

```
./target/release/plasm-node --validator --name sTakahashi --rpc-cors all --unsafe-ws-external --unsafe-rpc-external
```

# チュートリアルにならって接続してみます。
- チュートリアルによれば[ここ](https://apps.plasmnet.io/#/accounts)にアクセスするということなので、アクセスしてみます。
- 当然localhostでは接続出来ないので、「settings」「リモート・エンドポイント」の設定で「カスタムエンドポイント」を「オン」にして、LightSailのIPを設定してみます。

# 何故かこれだとつながらない、でも諦めない
- ※前提として、LightSailの設定で「外部からのアクセス許可」は全てOKにしています。
- ※全てのポートのアクセスも許可しています。

# 自分でUIアプリを起動する
- Stake Technologiesでは全て？のアプリをgit hubで公開しているようです。
- 自分たちの技術に相当の自信がなければこんなことは出来ないので、心底凄いと尊敬します。
- さっそくCloneしてビルドします。

```
https://github.com/staketechnologies/apps.git
cd apps
```
- yarnとnodeが必要なので、インストールします。バージョンを合わせる必要がありますので、[yarnはここ](https://qiita.com/realtakahashi/items/c66d242398abecae97dc)を[nodeはここ](https://qiita.com/realtakahashi/items/a398e83a961c8dcfa109)参照して必要なバージョンをインストールします。
- 私の環境のバージョンを以下です。

```
ubuntu@ip-111-22-3-444:~/plasm_work/apps$ yarn -v
1.10.1
ubuntu@ip-111-22-3-444:~/plasm_work/apps$ node -v
v10.15.0
```
- ビルドして実行

```
yarn install
yarn start
```

- 実行出来たら、<LightSailのIP>:3000にアクセスして、「settings」「リモート・エンドポイント」の設定で「カスタムエンドポイント」を「オン」にして、LightSailのIPを設定すると・・・
- おお！つながる！！！
- PlasmのUIアプリへの接続が完了しました。

# チュートリアルを再開しますが、先に進めない箇所が・・・
- PlasmのUIアプリにいき、メニューの「Accounts」に移動して、チュートリアルにしたがって、アカウント作成して下さい。
- チュートリアルを進んでいくと、Google Formからの申請がありますが、一旦おいておいて先に進みます。
- 「rotateKeys」を実行すると「-32601: Method not found」なるエラーが出ます。なんだこれ？

# 起動コマンドの問題？？
- きちんと調べる事が出来ていないので申し訳ないのですが、「--rpc-methods=Unsafe」をつけないと動作しない場合があるとGoogle検索すると出てきました。
- ノードを再起動して実行します。

```
./target/release/plasm-node --validator --name sTakahashi --rpc-cors all --unsafe-ws-external --unsafe-c-external --rpc-methods=Unsafe
```
- 再度「rotateKeys」を実行すると成功します。
- チュートリアルを続けましょう。

# 自分のノードが表示されていることを確認する
- Dustyネットワークに自分のノードが表示されているかを確認します。
- [ここ](https://telemetry.polkadot.io/#list/Dusty) にアクセスして、私のノード名である「sTakahashi 」があることが確認出来ます。

# 本当はGoolge Formで連絡したいのですが・・・
- 私には24/7で常時起動しておける環境がないので、途中で断念しました・・・
- そんな環境があれば是非Validatorになりたいと思います。
- もう一つ思う事は、自分の端末が空いている時間だけ、Validatorとしてマシンパワーを供給することが出来るとより良いと思いました。

# これからも応援します
- パブリックブロックチェーンはEthereumに触っていない物凄い可能性と将来性を感じています。
- そして、現行のEthereumにはない相互運用性の課題を解決するPolkadotとPlasmネットワークには物凄く注目しています。
- その中でもPlasmネットワークには特に注目していますし、応援したいと考えています。
- 今後は、Substrateのink!をより学びContract開発者として参加出来るようにやっていきたいと考えています。

# 余談
- ガスの在り方については引続きモヤモヤ感が残ります。
- 誰でも参加出来て、不届き者のコストを多くの善意者が負担しない仕組みがどうやったら開発出来るかを日々考えています。
- その一つが、日頃の自分の行い（信用スコアのような断片的なものではなく、自身の所属するコミュニティが証明してくれるような）でKYCしていくような世界の構築を夢見ています。