fabric-java-sdk 1.4ブロックチェーンアプリケーションの開発
11163 ワード
一、fabricテストネットワークの構築
構築環境はFabric環境構築を参考にすることができる
二、fabric-java-sdkを利用してアプリケーションを開発する
pomファイルの導入:
スプリングbootプロジェクトを構築します.
三、テスト
非常に重要な点:
1、ブロックチェーンテストネットワークを運行する時、TLSチャネル暗号化を取り除く必要があり、具体的に修正がある:
1)fabric/scripts/fabric-samples/first-network/base内の2つのファイルをそれぞれオフにする
docker-compose-base.yaml ----> ORDERER_GENERAL_TLS_ENABLED=false
peer-base.yaml ----> CORE_PEER_TLS_ENABLED=false
2)fabric/scripts/fabric-samples/first-network/docker-compose-cli.yaml内のファイルでCORE_をオフにするPEER_TLS_ENABLED=false
3)fabric/scriipts/fabric-samples/first-network/docker-compose-e 2 e-template.yamlのファイルでCORE_をオフにするPEER_TLS_ENABLED=false.
2、byfnを実行する.sh upネーミングの場合、初めてネットワークが正常に動作していることがわかり、実行スクリプトscript/scriptをオフにする必要があります.shは、ここで自動的にchannelを作成したり、チェーンコードを配置したりするため、javaプログラムがchannelを作成するときに異常need version 0,but got version 1が発生する.(LZはここでひどく穴があいています)
3、javaプログラムはchannelを作成し、fabricネットワークをクリーンアップしない限り、channelを再作成することはできません.
4、javaプログラムを実行する前に、ordererとchannel情報を工事にコピーする必要があります.
具体的なjavaプロジェクトが表示されます[email protected]:chenweiw09/fabric-java-application.git
構築環境はFabric環境構築を参考にすることができる
二、fabric-java-sdkを利用してアプリケーションを開発する
pomファイルの導入:
4.0.0
com.my.fabric
springboot-java-fabric
1.0.0-SNAPSHOT
jar
springboot-java-fabric
Demo project for Spring Boot
org.springframework.boot
spring-boot-starter-parent
2.0.5.RELEASE
UTF-8
UTF-8
1.8
1.2.41
0.7.5
2.9.6
windows-x86_64
staging
staging
true
staging
debug
true
staging
src/main/resources
true
src/main/resources/staging
true
jackson-annotations
com.fasterxml.jackson.core
${jackson.version}
com.fasterxml.jackson.core
jackson-databind
${jackson.version}
com.fasterxml.jackson.core
jackson-core
${jackson.version}
com.google.guava
guava
21.0
com.google.guava
guava
org.hyperledger.fabric-sdk-java
fabric-sdk-java
1.4.0
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-tomcat
org.springframework.boot
spring-boot-starter-logging
org.springframework.boot
spring-boot-starter-tomcat
org.apache.tomcat.embed
tomcat-embed-jasper
org.springframework.boot
spring-boot-starter-test
test
com.fasterxml.jackson.core
jackson-databind
org.slf4j
slf4j-log4j12
1.7.25
org.slf4j
slf4j-api
1.7.25
log4j
log4j
1.2.17
io.springfox
springfox-swagger2
2.6.1
spring-aop
org.springframework
slf4j-api
org.slf4j
spring-beans
org.springframework
spring-context
org.springframework
jackson-annotations
com.fasterxml.jackson.core
io.springfox
springfox-swagger-ui
2.6.1
org.projectlombok
lombok
1.16.18
provided
io.netty
netty-all
4.1.6.Final
org.reflections
reflections
0.9.10
guava
com.google.guava
junit
junit
4.12
${project.basedir}/src/main/resources
true
staging/*
dev/*
web.xml
org.apache.maven.plugins
maven-compiler-plugin
1.8
1.8
true
true
UTF-8
org.apache.maven.plugins
maven-surefire-plugin
true
org.apache.maven.plugins
maven-jar-plugin
*
org.springframework.boot
spring-boot-maven-plugin
repackage
スプリングbootプロジェクトを構築します.
三、テスト
非常に重要な点:
1、ブロックチェーンテストネットワークを運行する時、TLSチャネル暗号化を取り除く必要があり、具体的に修正がある:
1)fabric/scripts/fabric-samples/first-network/base内の2つのファイルをそれぞれオフにする
docker-compose-base.yaml ----> ORDERER_GENERAL_TLS_ENABLED=false
peer-base.yaml ----> CORE_PEER_TLS_ENABLED=false
2)fabric/scripts/fabric-samples/first-network/docker-compose-cli.yaml内のファイルでCORE_をオフにするPEER_TLS_ENABLED=false
3)fabric/scriipts/fabric-samples/first-network/docker-compose-e 2 e-template.yamlのファイルでCORE_をオフにするPEER_TLS_ENABLED=false.
2、byfnを実行する.sh upネーミングの場合、初めてネットワークが正常に動作していることがわかり、実行スクリプトscript/scriptをオフにする必要があります.shは、ここで自動的にchannelを作成したり、チェーンコードを配置したりするため、javaプログラムがchannelを作成するときに異常need version 0,but got version 1が発生する.(LZはここでひどく穴があいています)
3、javaプログラムはchannelを作成し、fabricネットワークをクリーンアップしない限り、channelを再作成することはできません.
4、javaプログラムを実行する前に、ordererとchannel情報を工事にコピーする必要があります.
具体的なjavaプロジェクトが表示されます[email protected]:chenweiw09/fabric-java-application.git