前回からHyperledgerFabricのアダプタ製造について検討を進めていますが、アダプタを実装するにあたり適用するFabricのJavaライプラリの選定と経緯について紹介したいと思います。
Hyperledger Fabricのライブラリ
Hyperledger Fabricのライブラリについては、数多くの先輩方が情報を配信してくださっています。
ここでは、私自身が理解した内容を紹介したいと思います。
Javaライブラリは大きく2種類が存在ます。
Hyperledger Fabricのライブラリの種類
-
https://github.com/hyperledger/fabric-gateway-java.git
Jarファイルの配布URL
https://mvnrepository.com/artifact/org.hyperledger.fabric/fabric-gateway-java -
https://github.com/hyperledger/fabric-sdk-java.git
Jarファイルの配布URL
https://mvnrepository.com/artifact/org.hyperledger.fabric-sdk-java/fabric-sdk-java
それぞれのライブラリの定義
それぞれのライブラリは、fabric-gatewayは高レベル、fabric-sdkは低レベルと定義されているようです。
fabric-gatewayはfabric-sdkと少し距離があり、私たちと距離が近いように思えます。
fabric-gatewayの場合、アプリケーション開発者の負担を軽減する高レベルの抽象化を備えており、チェーンコードの操作、実行を直感的に把握でき実装できる構造になっているように感じます。
一方で、fabric-sdkは、利用者の管理およびチェーンコードのメタ情報の収集など、その他Fabric全体の諸機能をカバーし目的の機能を実現するための関数が用意さているようです。
サンプルコードの紹介
fabric-gateway
fabric-samplesに含まる、application-gateway-javaがfabric-gatewayを用いたチェーンコードを制御するまでのロジックのサンプルコードです。
fabric-sdk
lkoliskoさんが作成した、fabric-sdkを用いた利用者の制御、およびチェーンコードを制御するまでのロジックのサンプルコードです。
次回は
Heperledger Fabric Explorerの構築について紹介したいと思ます。