zoukankan      html  css  js  c++  java
  • fabric-sdk-java在IDEA中的使用

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

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

    环境准备:

           JDK1.8、IDEA(带有maven,支持jdk1.8的就可以)

    IDEA插件安装:

          需要安装Protobuf Support插件

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

           

           打开后搜索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>即可

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

  • 相关阅读:
    Git Revert用法
    C语言------数据输入、输出函数
    C语言------运算符和表达式
    jsp九大内置对象
    三层结构下的多表查询,实体类写法
    String类型中"=="和"equals"的区别
    创建对象数组,给数组赋值(两种理解思路)
    Vbs整人代码
    设计模式之单例
    事务
  • 原文地址:https://www.cnblogs.com/maobuji/p/7206563.html
Copyright © 2011-2022 走看看