【Hyperledger Fabric v1.4.11】Marbles Demo を動作させる②

# やりたいこと

Hyperledger Fabric ネットワーク上で簡単なデモアプリケーション（Marbles Demo）を動作させます。
初期設定を完了させた続きになります。

https://qiita.com/kbys7367/items/5fca47a91791d4a53468


# Marbles Demo を動かしてみる

## 資産の移動
移動したい Marbles をマウスでドラッグして別のオーナーのところへ移動します。
ここでは、Amy の Marbles（大）を Alice へ移動します。

* 移動前
![21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283970/9de4d2bc-f676-611c-7acf-7256ce2c19cc.png)

* 移動中（ブロックチェーンネットワーク上の一連のトランザクション処理が実行され、その様子が Story Mode 画面に表示されます）。
![21_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283970/7549c563-9466-f213-c2db-64beaf288f64.png)

* 移動後（「Close」をクリック）
![22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283970/21f65b72-094d-66bf-7d28-5926c0ceb8a6.png)

ブロックチェーンには、新しいブロック"005"が追加されていることが確認できます。

## 移動した資産情報の確認
メイン画面左中央の虫眼鏡アイコンをクリックして"AUDIT"サイド画面を開きます。
移動した Marbles を選択すると、移動履歴などの情報が表示されます。

* 虫眼鏡アイコンをクリック
![23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283970/21c436ca-b7a9-74db-263e-e182f8bcf366.png)

* Marbles をクリック
![24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283970/8d8add5a-4c43-e06c-3c2d-1a43fc989e8d.png)


## 資産の追加
資産の追加は以下の手順で行います。

1. オーナー枠内の「＋」をクリックします。ここでは、Amy に資産を追加します。
![25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283970/1269b198-b06a-03dd-66ac-db5b98f82b01.png)

1. 追加する Marbles の色と大きさを選び、「Create」をクリックします。ここでは、「白：small」で資産を作成します。
![26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283970/c396363f-5aed-a4c5-be94-96405ec6e52e.png)

1. 追加した Marbles が表示されます。
![27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283970/5294f4a1-cad2-e034-5279-bdae3b571bc3.png)


## 資産の削除
Marbles をメイン画面上部のゴミ箱アイコンにドラッグします。
ここでは、Ava の Marbles（大）を削除します。

* 削除後
![28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283970/b38bd660-f71d-15e0-2e55-abc01b7ce669.png)



# Marbles Demo の停止

## Marbles Demo アプリケーションの停止
 Marbles Demo アプリケーションを起動したコンソールで、「Ctrl＋C」を入力します。

```
~/fabric/fabric-samples/marbles$ gulp marbles_local
[08:50:23] Using gulpfile ~/fabric/fabric-samples/marbles/gulpfile.js
[08:50:23] Starting 'env_local'...
（中略）
debug: [fcw] Querying Channel Stats
^C
~/fabric/fabric-samples/marbles$
```

## ブロックチェーンネットワークの停止
機動と同じように、basic-network に付属するブロックチェーンネットワーク停止スクリプト「stop.sh」を使用します。

```
~$ cd fabric/fabric-samples/basic-network/
~/fabric/fabric-samples/basic-network$ docker ps
CONTAINER ID   IMAGE                                                                                                    COMMAND                  CREATED       STATUS       PORTS                                                                                  NAMES
50ff019b359c   dev-peer0.org1.example.com-marbles-v4-f704f1411b52539123b5920f0c3d59dc4c88aa255a82cd002be690a5a6a8150e   "chaincode -peer.add…"   3 hours ago   Up 3 hours                                                                                          dev-peer0.org1.example.com-marbles-v4
327e8c060cc3   hyperledger/fabric-peer                                                                                  "peer node start"        3 hours ago   Up 3 hours   0.0.0.0:7051->7051/tcp, :::7051->7051/tcp, 0.0.0.0:7053->7053/tcp, :::7053->7053/tcp   peer0.org1.example.com
f665568a9257   hyperledger/fabric-ca                                                                                    "sh -c 'fabric-ca-se…"   3 hours ago   Up 3 hours   0.0.0.0:7054->7054/tcp, :::7054->7054/tcp                                              ca.example.com
8d83a288d7c9   hyperledger/fabric-couchdb                                                                               "tini -- /docker-ent…"   3 hours ago   Up 3 hours   4369/tcp, 9100/tcp, 0.0.0.0:5984->5984/tcp, :::5984->5984/tcp                          couchdb
b1ccdbce5478   hyperledger/fabric-orderer                                                                               "orderer"                3 hours ago   Up 3 hours   0.0.0.0:7050->7050/tcp, :::7050->7050/tcp                                              orderer.example.com

~/fabric/fabric-samples/basic-network$ ./stop.sh

# Shut down the Docker containers that might be currently running.
docker-compose -f docker-compose.yml stop
Stopping peer0.org1.example.com ... done
Stopping ca.example.com         ... done
Stopping couchdb                ... done
Stopping orderer.example.com    ... done

~/fabric/fabric-samples/basic-network$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
~/fabric/fabric-samples/basic-network$
```


# 参考文献

https://github.com/IBM-Blockchain-Archive/marbles/blob/v5.0/README-ja.md