はじめに
本記事では、Corda node explorerのセットアップ方法や機能、使い方等ついて、2回にわたって説明します。今回の内容
第2回となる本記事では、第4章で、Corda node explorerにおける各機能について説明します。 セットアップ方法と機能概要は第1回で説明しています。ゴール
新しくなったCorda node exploler GUIを使ってCordaのサンプルアプリに接続し、各機能でどのようなことができるかを理解することを目指します。想定読者
CorDappsの開発者やCordaに興味があるエンジニアの方を対象としています。前提知識
Unixの操作、ブロックチェーンの概略を前提知識があり、CorDapp開発のセットアップを行っている事とします。 本記事では実行例として、Cordaの公式リポジトリで提供されているサンプルアプリケーションを使用しますが、その詳細なセットアップ方法については割愛します。第4章 各機能の詳細について
Dashboard
ノードやCorDappのメタデータを俯瞰できます。 各パラメーターをconfigファイルでみることは出来るが、画面のように俯瞰できる機会が実はあまり無いため、重宝します。Network
世界中に存在するCorda nodeを地図上でみることができます。 現在の機能では、開発時よりも運用時に役立つ可能性がありそうです。また、Cordaノードが様々な場所にあることを視覚的に表現できているので、プレゼンテーションなどで使えそうです。Settings
Corda node explorerの設定を変更できます。 主に使う機能は、添付写真で囲っている、CorDappのpathを設定する機能で、pathを設定しないと、Transactionが見えずFlowの発行もできないので注意が必要です。 ノードに配置した場合の例/opt/corda/4.4/cordapps
ローカル動作時の例/<...>/cordapps/build/nodes/Node01/cordapps
Transactions
トランザクションを発行したり、閲覧したり出来る機能以下、発行のフローを通して説明します。
1.NEW TRANSACTIONボタンを押す。 2.発行したいFlowを選択して、Formに入力
現行版では入力すべきヒントは表示されるが、WebAppのUIのような複雑なvalidationがなく、入力ミスに注意が必要です。
また、リモート接続だと、発行に失敗することや画面が表示されないことがあるなど、動作に不安定なことがあります。
Transaction例の内容について
- 支払いたい契約書のLinearIdと支払金額を入力
- 匿名パラメーターは、false
Transaction発行後の内容について
Inputs情報とTransaction発行時に入力した内容から、Outputsが反映されていることが確認できます。
Inputs
- 契約書 State
- 貸し手B
- 借り手A
- 100 USドル貸したが、80 USドル既に支払っている
- 所持金額 State
- 所有者 ? (実際は、A)
- 1420 USドル
- 借り手Aが貸し手Bに対し、借金残額20USDを支払って契約履行した。
- 所持金額 State
- 所有者 B
- 20 USドル
- 所持金額 State
- 所有者 A
- 1400 USドル
Vault
Nodeが持っている情報を閲覧できる機能主に開発時に使う機能であり、この機能のおかげでCorda開発におけるデバッグがかなり容易になりました。この機能のためにCorda node explorer を使う価値があるといっても過言では無いです。
以前はCorDappの開発においてCorda上でバグが起きた際、CordaのVaultの中を確認するために、Cordaが提供するAPIを操作して確認していました。一般的なDatabaseを用いた開発であると、Database周辺のバグが起きた場合、Databaseのエクスプローラツールを用いて確認する事が多いです。Corda開発において同様の方法が存在しなく面倒なデバッグ方法を行っていました。
しかし、Corda node explorerが新しくリリースされた事で、Cordaも一般のApp開発と同様のデバッグ体験を行えるようになりました。
また、その他に評価できる点としては、Objectのネストしている情報や独自の型で定義した情報も正しく表示されていたり、Checkbox式のフィルタリング機能やNode事に見られる情報が違うことが挙げられます。
添付画像は、先程Transactionの例で発行後のPartyAとPartyBのVaultです。それぞれのノードによって見られる情報が違うことが確認できます。
まとめ
本記事では、Corda node explorerの各機能について紹介しました。Corda node explorerは、β版であるので、まだ不安定な部分も存在しますが、CorDappsの開発やテスト体験をかなり向上してくれました。CorDappsの開発において必須なツールになるのではないでしょうか?