LoginSignup
0
1

More than 5 years have passed since last update.

Corda サンプルCorDappを動かしてみる2

Last updated at Posted at 2018-08-08

目的

Corda サンプルCorDappを動かしてみる1の続き。
サンプルCorDappがどのように動作するのか確認する。

環境

Mac環境。

内容

前回までのおさらい

Corda サンプルCorDappを動かしてみる1では、サンプルCordappがインストールされたノードを起動するまで実施した。
続いて、サンプルの構成を確認して実際にサンプルCordappを動かしてみる。

サンプルの構成

ざっくり以下のような構成である。アプリとしては借用証書IOU(I Owe You)のやりとりができるようになっている。ノードの構成情報はkotlin(java)-source/build/nodes/NodeX/node.confに記載されている。

  • Notary
    トランザクションを検証する
  • Node
    それぞれの台帳を管理、アプリを実行
  • Webserver
    フロントWebサーバー スクリーンショット 2018-08-08 16.04.30.png

サンプルAPIが用意されている

/api/status
 ノードが起動しているか確認
/api/example/me
 ノードの情報を確認
/api/example/peers
 他ノードの情報を確認
/api/example/ious
 自身のIOUの情報を確認
/api/example/create-iou
 IOUを作成

Webフロントエンド

/web/example

スクリーンショット 2018-08-08 16.14.21.png

IOUを発行してみる

API

PartyA(貸し手)からPartyB(借り手)へのIOUを発行

$ curl -X PUT 'http://localhost:10009/api/example/create-iou?iouValue=1&partyName=O=PartyB,L=New%20York,C=US'
Transaction id 3E880090502DAED406F2441946BD79FD7918FAC5A8AB79600E1DE26A512A84C4 committed to ledger.

Webフロントエンド

PartyA(貸し手)からPartyB(借り手)へのIOUを発行
スクリーンショット 2018-08-08 17.25.06.png

APIやWebフロントエンドから結果を確認できる。
Party AとParty Bからはトランザクションを見ることができるが、Party Cからはできていない。
Party A
スクリーンショット 2018-08-08 17.25.26.png
Party B
スクリーンショット 2018-08-08 17.35.17.png
Party C
スクリーンショット 2018-08-08 17.35.27.png

Databaseの中身を直接確認してみる

ノードのデータはH2 databaseに保管されている。以下からH2をダウンロードする。
http://www.h2database.com/html/download.html
zipを解凍して、以下のディレクトリに移動して起動

$ cd h2/bin
$ sh h2.sh

ブラウザでH2コンソールが起動するので、みたいノードの情報を入力していく。
JDBC URLはノードのコンソールに表示されている。

Database connection url is              : jdbc:h2:tcp:YourJDBCURL

ユーザーとパスワードはh2のデフォルト(ユーザー="sa" パスワード="")

スクリーンショット 2018-08-08 18.16.49.png

接続して"SELECT * FROM IOU_STATES" を実行すると、データベースに格納されているIOUのデータを確認できる。
Party A トランザクションある
スクリーンショット 2018-08-08 18.18.59.png

Party B トランザクションある
スクリーンショット 2018-08-08 18.22.10.png

Party C トランザクションない
スクリーンショット 2018-08-08 18.22.44.png

まとめ

分散台帳を実現していることがわかるサンプルアプリケーションでした。

参考文献

QuickStart
https://docs.corda.net/quickstart-index.html
Node database
https://docs.corda.net/node-database.html

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1