fabric-java-sdk 1.4ブロックチェーンアプリケーションの開発

11163 ワード

一、fabricテストネットワークの構築
構築環境は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