Hyperledger Fabric の chaincodeのビルド、テスト、パッケージ化、デプロイをサポートするツール
インストール
前提
- A Java JRE/JDK v1.8 (or higher)
- make
- git
ビルド
$ git clone https://github.com/hyperledger/fabric-chaintool.git
$ cd fabric-chaintool && make install
アクション種類 “$ chaintool [action]“
- build: コンパイルチェック、ビルド (/.build)
- buildcar: 好きな言語でスタブコードを生成しテストできる。
- clean: /.build 消去
- package: sourcecode、interfaces、chaincode.yaml、およびその他のプロジェクトデータを展開に適した.carファイルにパッケージ化
- unpack: .car 解凍
- ls: .car 中身確認
- proto: .cciを.protoにコンパイル
APIからChaincode実行時に
> {“function”:”org.hyperledger.chaincode.example02/query/1″,”args”:[“CgNmb28=”]}}
”function”:”インターフェース名/メソッド型/メソッドインデックス”, …
によって指定できる
*inspect: サーバの環境をしらべる
コマンドラインのヘルプ
$ chaintool -h
chaintool version: v0.10.1
Usage: chaintool [general-options] action [action-options]
General Options:
-v, --version Print the version and exit
-h, --help
Actions:
build -> Build the chaincode project
buildcar -> Build the chaincode project from a CAR file
clean -> Clean the chaincode project
package -> Package the chaincode into a CAR file for deployment
unpack -> Unpackage a CAR file
ls -> List the contents of a CAR file
proto -> Compiles a CCI file to a .proto
inspect -> Retrieves metadata from a running instance
(run "chaintool -h" for action specific help)
クイック・スタート・オーバービュー
- インターフェイスを定義する
- appinit.cci: アプリのconstructor引数を定義する
- アプリケーション特有のインターフェイス: アプリの一般的なメソッドと引数を定義する
- chaincode.yaml を定義する
- アプリケーション・ロジックを書く、上記ステップで定義したインターフェイスを実装する
- コンパイルを確認するために chaintool buildを実行
- ネットワークへのFabricにデプロイするアプリのパッケージを作成するために chaintool packageを実行