Corda Flavored Ganache

概要 

Corda Flavored Ganacheとは?

 「Corda Flavored Ganache」はTruffle(トラッフル。トリュフの英語読み)が開発したローカル開発な環境で簡単にブロックチェーンのテスト環境を構築できるフレームワークです。インターネット接続を必要とせず、ノードやノータリーがすべて同じマシン上にあるため、ユーザーはライブ・ネットワークよりも詳細にネットワークの状態を確認することができます。

e30f050940d3b8898aee3219cd089148-png.png

対象とする環境

 Windows10 64bit

   Corda Flavored Ganache

 

導入

インストール

    以下のURLのページ中段にある、インストーラーをダウンロードします。

    https://github.com/trufflesuite/ganache/releases

    ※OSによってインストーラーが異なりますのでご注意ください。

       ・Windows: Ganache-*.appx
  ・Mac: Ganache-*.dmg
  ・Linux: ganache-*.AppImage  

ダウンロードしたインストーラーを起動してインストールを行います。
(Google Analyticsのトラッキングを許可するかをリクエストされます。本稿は許可しない設定で
インストールします。)

インストールが完了すると、以下のようなホーム画面が表示されます。  6e6b193a1d9a399f384b4f60f1dfac54-png.png

 

Cordaネットワーク起動

  デフォルトでは、「Ethereum」 が選択されてますが、「▼」ボタンを押下すると、「Corda」の環境構築を選択できます。

「QUICKSTART」を押下すると、Cordaネットワークの起動が開始します。
 ※一つのマシンに複数のNodeを立ち上げるため、 他にメモリを大量消費するアプリを起動してる場合は、予め終了することを推奨します。

 861a4776f5fa5bb64961228ae0ef6496-png.png

 起動が完了すると、ホーム画面が表示されます。

e30f050940d3b8898aee3219cd089148-png.png

 

CorDappの登録&実行

CorDapp登録

Ganache」はデフォルトではCorDappが登録されていないので、Cordappを登録します。

0304ceb6b0b5d0516003f0baf1a4a3c2-png.png

 

「歯車」のボタンを押下すると、CorDappsの登録画面が表示されますので「ADD PROJECT」ボタンを

押下します。

9882aa5966c54400c6d15c43d65e297b-png.png

 

「フォルダーの選択」がポップアップします。Flowやcontractを圧縮したjarファイルが格納された「libs」フォルダーの一階層上(デフォルトではbuild.gradleが配置されたフォルダー)を指定します。

指定例

├─.gradle
├─.idea
├─build
├─clients
├─config
├─contracts
├─gradle
├─lib
├─logs
├─out
└─workflows                    → 「Projects」に指定するフォルダーパス
  ├─build.gradle
  └─build
     └─libs
        └─corda-workflow.jar → ロード対象のjar

 「Projects」に選択したフォルダーが表示されます。

フォルダーの設定が完了したら、画面右上の「SAVE AND RESTART」を押下します。

再起動し「CORDAPPS」タブを押下すると、登録したCorDappが登録されています。

cc6d10c52292e21c3d03691cb755543a-png.png

 

CorDapp実行

 フローをコマンドプロンプトから実行する場合は、Ganacheの「SHELLS」タブのプロンプトから実行可能です。

1e52ab0e1e4484bc93a8242bfa9a297f-png.png

 

しかし、メモ帳などの文字をコピペできないなど、長い文字列の入力をする場合は不便を感じることがあるかもしません。よって、ターミナルソフト(Tera-termやPuTTyなど)からssh接続でノードにログインする方法をお勧めします。

 

ssh接続に必要な情報(ポート番号、ユーザー名、パスワード)は、「NODES」タブから任意のノードを選択し確認できます。

48d9b499329eb21045174dcbcd2cf490-png.png

 

ターミナルからのログイン画面です。Ganacheが停止・終了するとターミナルも強制切断します。

fd6bcb2baf655738d94d510c67d93c88-png.png

 

ネットワークを立ち上げた直後は、トランザクションは存在しないため、「TRANSACTIONS」には何も履歴が表示されません。

3e23a16b5de65e08107c671a00d90525-png.png

 

トランザクションが記録されることを確認するため、ステートを発行するフローを実行します。

(下記は、Party Aにて実行したフロー。参加者はローカルノードのみ)

1cc39f36afdcd0ec77bed25cd316b800-png.png

 

「TRANSACTIONS」履歴が表示されました。

a841550c9a2101414a923dff8399d5bc-png.png

 

おわりに

 Corda Flavored Ganache」の導入からCorDappの実行までを試してみました。

直感的なUIで、設定などのクセも少なく、とても使いやすいフレームワークという感想を抱きました。

ぜひ一度おためしください。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています