fabric-java-sdk 1.4 开发区块链应用程序

一、搭建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
                        
                    
                
            
        
    

搭建spring-boot工程。

三、测试

非常重要的几点:

1、运行区块链测试网络的时候,需要去除TLS通道加密,具体的有修改:

1) 在fabric/scripts/fabric-samples/first-network/base内的两个文件里面分别关掉

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/scripts/fabric-samples/first-network/docker-compose-e2e-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,不能再次创建channel,除非清理掉fabric网络。

4、在运行java程序前,需要将orderer和channel信息拷贝到工程中。

具体的java工程可见:[email protected]:chenweiw09/fabric-java-application.git

 

你可能感兴趣的:(fabric)