fabric-sdk-java在IDEA中的使用

 

尝试使用fabric-sdk-java来链接fabric区块链。html

fabric的安装可参考 http://www.cnblogs.com/maobuji/p/7204446.htmljava

环境准备:git

       JDK1.八、IDEA(带有maven,支持jdk1.8的就能够)github

IDEA插件安装:windows

      须要安装Protobuf Support插件服务器

      进入IDEA环境后,选择file->settingmaven

       

       打开后搜索Protobuf Support安装便可。装好后重启IDEA。单元测试

 

fabric-sdk-java工程包下载:区块链

         https://github.com/hyperledger/fabric-sdk-java  选择clone or download下载最新的代码,也能够到release中下载对应版本的代码测试

         解压后目录以下:

         

 导入工程:

       

       选择源代码工程

       

       而后一路next下去,工程就导入了。

 

在pom.xml中删除如下内容:
(1.0.1中使用maven编译,这里会报错。因此从POM.xml暂时删除掉了这个插件,若是有人知道如何配置,请给我留言)

            <plugin>
                <groupId>pl.project13.maven</groupId>
                <artifactId>git-commit-id-plugin</artifactId>
                <version>2.2.2</version>
                <executions>
                    <execution>
                        <id>get-the-git-infos</id>
                        <goals>
                            <goal>revision</goal>
                        </goals>
                        <phase>validate</phase>
                    </execution>
                </executions>
                <configuration>
                    <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
                </configuration>
            </plugin>

 

 编译

     点击左下角的小方块,选择Maven Projects

     

在打开的窗口里,选择protobuf:compile右键运行,以后在运行工程的compile

     

 

会新生成一个target目录,若是包都生成出来了,应该就是成功了。

 

 

运行测试用例

    查找End2endIT.java 进行单元测试,提示链接不上,工程的基本设置就完成了。下面的章节进行sdk测试类的分析

   

 

  链接地址能够在测试包的

  org.hyperledger.fabric.sdk.testutils.TestConfig类中找到

 可是7074是ca的配置路径,e2ecli例子中并无ca的配置,这部分还酉继续研究

 

 因为SDK默认的链接例子,是自带在SDK包里的。因此要关闭掉以前启动的e2ecli的例子了。

 

 准备测试服务

建立一个目录,而后将fabric-sdk-java放进去并解压

 

 

cd fabric-sdk-java-1.0.1/src/test/fixture/sdkintegration/

 

启动样例便可

sh fabric.sh

 

 回到java环境,到testConfig.java中修改IP地址,将localhost都改成,fabric服务器的地址。

 

运行测试

运行End2endIT单元测试,若是运行正常应该是以下结果,以后就能够去看单元测试是如何使用sdk与fabric交互的了

 

 

补充内容:

   maven update之后,pom文件可能会报错。

     (1)com.google.protobuf:protoc:exe:${os.detected.classifier}:3.0.0

   这里是由于${os.detected.classifier}没有取到合理的值,能够参考这个文档进行设置   https://github.com/trustin/os-maven-plugin

   ${os.detected.classifier} 的值是由 ${os.detected.name}-${os.detected.arch}  构成的

   ${os.detected.name}的值是由${os.name}转化而来的。转化规则在连接中

   ${os.detected.arch}的值是由${os.arch}转化而来的,转化规则也在连接中

    

   可使用以下java代码得到当前操做系统的值:

System.out.println(System.getProperty("os.name"));
System.out.println(System.getProperty("os.arch"));

Windows 7    amd64  须要被转换为:windows-x86_64

取得了${os.detected.classifier}的值之后,在pom的properties中增长<os.detected.classifier>windows-x86_64</os.detected.classifier>便可

注意:不一样操做系统的值,有所不一样,请根据转换表进行转换

相关文章
相关标签/搜索