IBMのメインフレームでBlockchainを動かしてみた。(Hyperledger Fabric and Hyperledger Composer on LinuxONE) Part3

#はじめに
この記事は
[IBMのメインフレームでBlockchainを動かしてみた。Part1](https://qiita.com/truepot/private/17d1ca382a8813208bf5)
[IBMのメインフレームでBlockchainを動かしてみた。Part2](https://qiita.com/truepot/private/38546c196fa3740282fd)の続きです。
最初にこれらのページを参照してください。


#[Part3 - Node-REDによるブロックチェーンAPIの活用](https://github.com/IBM/hyperledger-fabric-on-linux-one?cm_sp=IBMCode-_-run-blockchain-technology-on-a-linux-mainframe-_-Get-the-Code#part-3--utilizing-blockchain-api-through-nodered-1)
**処理の流れ(フロー)をNode-REDに取り込む**

**Part3では、Node-REDを利用して、Part2の63-67で確認したREST　API経由でビジネス・ネットワークへアクセスします**

1. ブラウザーの新しいタブかウィンドウでNode-REDを開きます。アドレスバーに以下のurlを入れてください。xはLinuxゲストのIPアドレスです。
・`http://xxx.xxx.x.x:1880`
*注：Node-REDではChrome以外のブラウザを使用する必要があります。 ChromeでNode-REDの読み込みが途切れる問題がありました。*
![OpenNodeRED.png](https://qiita-image-store.s3.amazonaws.com/0/273603/8e1a0bcd-76d2-37d3-88ec-dbe042b2cfe1.png)
2. フローを完成させるためには、Node-REDのパレットにいくつかのノードを追加する必要があります。そのためには、右上のメニューボタンをクリックしてください。

![node-red-menu.png](https://qiita-image-store.s3.amazonaws.com/0/273603/455ab772-8a54-7c90-cb47-dd34e45b6631.png)
3. ドロップダウンメニューからManage Paletteを選択
![ManagePalette.png](https://qiita-image-store.s3.amazonaws.com/0/273603/67f8f9b2-b449-1e77-a999-1cd584829c74.png)
4. User SettingsウィンドウでInstallをクリックし、検索窓でdashboardと入力し、node-red-dashboardの横のinstallを選択
![install-node-red-dashboard.png](https://qiita-image-store.s3.amazonaws.com/0/273603/b09ec4b6-953f-cbf9-bddb-ce0c159cc3cf.png)
5. Install nodesのポップアップでInstallをクリック
![install.png](https://qiita-image-store.s3.amazonaws.com/0/273603/3d3bf9ef-c559-0625-4f91-734c153e9543.png)
6. これでセンサー(ここではRaspberryPi Sense Hat simulator）の導入の準備が整いました。 User SettingsウィンドウでInstallをクリックし、検索窓でsenseと入力し、node-red-pi-sense-hat-simulatorの横のinstallを選択します。
![PiNodes.png](https://qiita-image-store.s3.amazonaws.com/0/273603/a6c36ec4-a835-7940-41d3-1aac2c5cee91.png)
7. Install nodesのポップアップでInstallをクリック
![install.png](https://qiita-image-store.s3.amazonaws.com/0/273603/3d3bf9ef-c559-0625-4f91-734c153e9543.png)
8. さらに１つノードを追加。検索窓でweatherと入力し、node-red-node-weather-undergroundの横のinstallを選択します。
![weatherinstall.png](https://qiita-image-store.s3.amazonaws.com/0/273603/7db38f7a-c84a-bf33-5cf0-3a3c5290934f.png)
9. Install nodesのポップアップでInstallをクリック
![install.png](https://qiita-image-store.s3.amazonaws.com/0/273603/3d3bf9ef-c559-0625-4f91-734c153e9543.png)
10.  Closeボタンをクリックして、User Settingsの画面を閉じます。
![closePalette.png](https://qiita-image-store.s3.amazonaws.com/0/273603/7b7e7dbd-4645-89c8-bc79-1623cffdcb18.png)
**[GitHub](https://raw.githubusercontent.com/IBM/HyperledgerFabric-on-LinuxOne/master/code/node-red.json)リポジトリのすべてのJSONファイルをコピーして、フローにインポートします。**
*Note: 上のGitHubのリンクをクリックしてjsonファイルを表示するのが最も容易な方法です。*
![RawJson.png](https://qiita-image-store.s3.amazonaws.com/0/273603/5ec4e8f2-a21b-deef-8e03-02978d949c36.png)
**Node-Redに貼り付けるには、 右上のメニューボタンをクリックしてください。**
![node-red-menu.png](https://qiita-image-store.s3.amazonaws.com/0/273603/455ab772-8a54-7c90-cb47-dd34e45b6631.png)
11. ImportからClipboadを選択
![node-red-menu-import-clipboard.png](https://qiita-image-store.s3.amazonaws.com/0/273603/5998051b-bde7-0311-2d96-38c545e40b23.png)
12. コードを編集画面に貼り付け、 "current flow" の選択を確認してImportをクリック
![node-red-menu-import-editor.png](https://qiita-image-store.s3.amazonaws.com/0/273603/54c01cdd-f6ac-dd50-80fd-16ab03ab9d50.png)
13.　Node-REDの画面に3つのフロー - Blockchain、Dashboard、Gaugeが表示されます。
![13_ThreeFlows.png](https://qiita-image-store.s3.amazonaws.com/0/124070/cbf1fcf3-911d-3b52-93f5-56f4a3ece1ff.png)
14.　Node-REDブラウザの右端の_Deploy_をクリックし、インポートした内容を保存します。
![14_ClickDeploy.png](https://qiita-image-store.s3.amazonaws.com/0/124070/69657d98-747d-ea3b-d369-0d44c528a565.png)

**Dasdboardを介してブロックチェーンを使用する**

15.　右上にある_Deploy_の下の_Dashboard_タブをクリックします。Node-Redのバージョンによって文字では無く、アイコンがタブに表示されます。その場合には、グラフのアイコンがDashboadを表します。
![15_ClickDashboard.png](https://qiita-image-store.s3.amazonaws.com/0/124070/261c28ed-8acc-8ae6-44f3-1066c177ca82.png)
16.　pop out_ボタンをクリックしブラウザでDashboardを開きます。
![16_ClickPopOut.png](https://qiita-image-store.s3.amazonaws.com/0/124070/f471809a-591d-a5ea-952f-113244fed8f8.png)
17.　新しいタブが開かれます。以下のような画面でしょう。（実行のタイミングによってLinuxONE Community Cloudのネットワークに制限があるようで、表示に時間がかかったり、表示できない場合があるようです。）
![17_Dashboard.png](https://qiita-image-store.s3.amazonaws.com/0/124070/b14c24c5-4c63-1543-e76c-775fbc2eed17.png)
18.　シミュレートされたセンサーを操作するために、Node-REDのタブに戻り、_Gauge Simulator_タブを選択します。
![18_GaugeSimulator.png](https://qiita-image-store.s3.amazonaws.com/0/124070/ca9ee827-2a80-5b78-864e-e7bdcbe40987.png)
19.　Sensor Gauge Simulator_ノードをクリックします。
![19_GaugeNode.png](https://qiita-image-store.s3.amazonaws.com/0/124070/bd655bcc-27ab-d7ee-bb81-f028170bba59.png)
20. ブラウザーの右上にあるinfoタブをクリックします。Node-Redのバージョンによって文字では無く、アイコンがタブに表示されます。その場合には、iのアイコンがinfoを表します。
![ClickInfo.png](https://github.com/IBM/hyperledger-fabric-on-linux-one/blob/master/images/ClickInfo.png?raw=true)
21. Informationの第三段落には、hereで示されるハイパーリンクがあります。 そのハイパーリンクはシミュレータを新しいタブで開きます。 hereをクリックします。
![ClickHere.png](https://github.com/IBM/hyperledger-fabric-on-linux-one/blob/master/images/ClickHere.png?raw=true)
22. シミュレータ内のセンサの温度を20℃から調整してください。
![Sensor.png](https://github.com/IBM/hyperledger-fabric-on-linux-one/blob/master/images/Sensor.png?raw=true)
23.ダッシュボードのタブに切り替え、Get Sense Hat Temperatureをクリックしてセンサーの温度とグラフの変化を確認します。
![SensorDashboard.png](https://github.com/IBM/hyperledger-fabric-on-linux-one/blob/master/images/SensorDashboard.png?raw=true)
24. ダッシュボードで引き続き、API経由でブロックチェーンと対話してください。 以下を試すことができます：

チーム名を入力して、click Add Team Nameをクリック. 正常にメッセージが表示されるはずです。
![dashboard-add-team-button.png](https://github.com/IBM/hyperledger-fabric-on-linux-one/blob/master/images/dashboard-add-team-button.png?raw=true)

Thermostat　valueの横にあるスライダを動かしてサーモスタットの設定を変更します。 Change Thermostatをクリックしてブロックチェインに値を送信します。
![dashboard-thermo-slider.png](https://github.com/IBM/hyperledger-fabric-on-linux-one/blob/master/images/dashboard-thermo-slider.png?raw=true)
![dashboard-changethermo-button.png](https://github.com/IBM/hyperledger-fabric-on-linux-one/blob/master/images/dashboard-changethermo-button.png?raw=true)

都市と州を入力して外気温を調べます。 Get Current Tempsをクリックして値を取得します。
![OutsideTemps.png](https://github.com/IBM/hyperledger-fabric-on-linux-one/blob/master/images/OutsideTemps.png?raw=true)

外気温が出た後、Get Recommendationをクリックすると、サーモスタットの理想的な設定温度を確認することができます。 ダッシュボードのサーモスタットが調整されることに注意してください。
![dashboard-recommendation-result.png](https://github.com/IBM/hyperledger-fabric-on-linux-one/blob/master/images/dashboard-recommendation-result.png?raw=true)
25. おめでとうございます!:clap:　これで全ての学習内容が終了しました。