目的
Corda サンプルCorDappを動かしてみる1の続き。
サンプルCorDappがどのように動作するのか確認する。
環境
Mac環境。
内容
前回までのおさらい
Corda サンプルCorDappを動かしてみる1では、サンプルCordappがインストールされたノードを起動するまで実施した。
続いて、サンプルの構成を確認して実際にサンプルCordappを動かしてみる。
サンプルの構成
ざっくり以下のような構成である。アプリとしては借用証書IOU(I Owe You)のやりとりができるようになっている。ノードの構成情報はkotlin(java)-source/build/nodes/NodeX/node.confに記載されている。
サンプルAPIが用意されている
/api/status
ノードが起動しているか確認
/api/example/me
ノードの情報を確認
/api/example/peers
他ノードの情報を確認
/api/example/ious
自身のIOUの情報を確認
/api/example/create-iou
IOUを作成
Webフロントエンド
/web/example
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を発行
APIやWebフロントエンドから結果を確認できる。
Party AとParty Bからはトランザクションを見ることができるが、Party Cからはできていない。
Party A
Party B
Party C
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" パスワード="")
接続して"SELECT * FROM IOU_STATES" を実行すると、データベースに格納されているIOUのデータを確認できる。
Party A トランザクションある
まとめ
分散台帳を実現していることがわかるサンプルアプリケーションでした。
参考文献
QuickStart
https://docs.corda.net/quickstart-index.html
Node database
https://docs.corda.net/node-database.html