今回から、数回にわたりDataSpiderSDKを用いてHyperledger Fabricとデータ連携するためのアダプタの実装例について紹介したいと思います。
初回は、まずはHyperledger FabricのJavaライブラリとHyperledger Fabricが提供するテストネットの環境を用意します。
ビルド環境とテストネット環境
以下の環境およびモジュール類を揃えます。
- Windows 10
- Java SDK ver.8
- Apache Maven Ver.3.8.6
- Git for Windows (GitBashも使用します)
- Node v16.13.0
- Python 2.7
- Docker Desktop
Javaライブラリのビルド
DOSプロンプトを開きHyperledger-fabricのgithubからclone します。執筆時は最新バージョンがv1.2でしたので併せてタグも指定します。
git clone https://github.com/hyperledger/fabric-gateway.git -b v1.2.0
cd fabric-gateway\java
mvn install -Dmaven.test.skip=true
java\targetディレクトリ下に「fabric-gateway-1.2.0-SNAPSHOT.jar」が生成されていればビルドの完了です。
Hyperledger Fabricテストネット環境構築
Dockerを用いてテストネット環境を構築します。
用意したテストネットDocker上にサンプルのスマートコントラクトをデプロイします。
スマートコントラクトはtypescript版をデプロイします。
GitBashを開き、以下のコマンドを実行します。
git config --global core.autocrlf false
git config --global core.longpaths true
curl -sSLO https://raw.githubusercontent.com/hyperledger/fabric/main/scripts/install-fabric.sh && chmod +x install-fabric.sh
./install-fabric.sh d s b
cd fabric-samples/test-network
./network.sh up createChannel -ca
cd ../asset-transfer-basic/chaincode-typescript
npm install
cd ../../test-network
./network.sh deployCCAAS -ccn basic -ccp ../asset-transfer-basic/chaincode-typescript
上記のコマンドで、Hyperledger Fabricの基本的な環境とテストで使用するスマートコントラクトのセットアップが完了です。
Dockerの起動状況の確認
Gitbash画面から以下のコマンドを実行します。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fbd6d1d8bab9 basic_ccaas_image:latest "/tini -- /usr/src/a…" 8 seconds ago Up 7 seconds 9999/tcp peer0org2_basic_ccaas
d88bac1e6599 basic_ccaas_image:latest "/tini -- /usr/src/a…" 10 seconds ago Up 9 seconds 9999/tcp peer0org1_basic_ccaas
9397f3df007f hyperledger/fabric-tools:latest "/bin/bash" About a minute ago Up About a minute cli
5629adb8f1de hyperledger/fabric-orderer:latest "orderer" About a minute ago Up About a minute 0.0.0.0:7050->7050/tcp, 0.0.0.0:7053->7053/tcp, 0.0.0.0:9443->9443/tcp orderer.example.com
05cf03e3a034 hyperledger/fabric-peer:latest "peer node start" About a minute ago Up About a minute 0.0.0.0:9051->9051/tcp, 7051/tcp, 0.0.0.0:9445->9445/tcp peer0.org2.example.com
8de9fd0de3fe hyperledger/fabric-peer:latest "peer node start" About a minute ago Up About a minute 0.0.0.0:7051->7051/tcp, 0.0.0.0:9444->9444/tcp peer0.org1.example.com
Dockerのサービスの終了
./network.sh down
次回は
テストネットとして各サービスを立ち上げました。次回は、これらのサービスの概要と、DataSpiderSDKを用いたグローバルリソースの実装例を紹介したいと思います。