Hyperledger Fabric-sdk-java

2018年04月18日 23:36:02 l_ricardo 阅读数 975更多

分类专栏: 区块链 java
 
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

Hyperledger Fabric-sdk-java

本人使用环境为macOS High Sierra 10.13.4Java 9.0.4

目前Hyperledger Fabric官方主要是支持的fabric-sdk-node,并且有较为完善的中英文文档。然而我的项目要求为Java,所有只能下载fabric-sdk-java

Prerequisite:

  1. Apache Maven(可以通过homebrew安装)
  2. JDK 1.8+(推荐就是1.8,项目就是用1.8写成的,用Java 9会和我一样遇见一些奇奇怪怪的问题)
  3. IDEA

下载项目

git clone https://github.com/hyperledger/fabric-sdk-java
  • 1

导入项目

IDEA,以maven工程导入项目,导入依赖。

少量第三方库,可以运行前在根目录下执行以下命令:

mvn dependency:tree
  • 1

运行fabric

cd fabric-sdk-java/src/test/fixture/sdkintegration
./fabric up
  • 1
  • 2

如果出现image不能找到的错误修改fabric-sdk-java/src/test/fixture/sdkintegration 下的docker-compose.yaml中的对应的image tag即可。

运行测试用例

我们挑选比较常用的End2endIT.java运行。

这时你便会发现,我们从clong下来的代码中并没有包含org.hyperledger.fabric.protos这个包。所以需要我们自行下载这个包,并把它添加到我们的项目中的对应位置。这里提供一个源码的下载地址 

我们下载对应的jar文件后解压,导入对应包即可。

由于是JDK的代码,我们在用Java 9编译时有一些选项需要注意

我们需要将字节码文件的版本都设为9。并在命令行参数上加上如下几个参数。

--add-exports java.base/jdk.internal.misc=ALL-UNNAMED --add-modules java.xml.bind --add-modules java.corba
  • 1

此外我们还需要修改项目中的pom.xml文件


sourcetarget中的1.8都改为9如果在编译时还是报差某些类时,自己在pom.xml中加上对应的dependency。比如我差java.annotation我在dependency中就加上了

解决完了这些依赖后我们再次编译就应该能够成功运行了。运行结果如下图。 

Hyperledger Fabric-sdk-java的更多相关文章

  1. HyperLedger/Fabric SDK使用Docker容器镜像快速部署上线

    HyperLedger/Fabric SDK Docker Image 该项目在github上的地址是:https://github.com/aberic/fabric-sdk-container ( ...

  2. 区块链:基于Hyperledger Fabric的 java 客户端开发(java sdk /java api server/java event server)

    fabric针对java 开发的部分支持不是很友好.基于目前较为稳定的fabric 1.4版本,我们封装了一个java sdk,apiserver,eventServer 封装java sdk的主要目 ...

  3. hyperledger fabric 中java chaincode 支持离线打包

    联盟链由于其本身的特性,目前应用在一些大型国有企业银行比较多.出于安全考虑,这些企业一般会隔离外网环境.所以在实际生产需求中可能存在需要在一个离线的环境中打包安装chaincode的情况. 本文基于这 ...

  4. Hyperledger Fabric SDK use case 1

    ///////////////////////////////////////////////////////////////////////:End2endAndBackAgainIT 1.Crea ...

  5. hyperledger fabric超级账本java sdk样例e2e代码流程分析

     一  checkConfig  Before     1.1  private static final TestConfig testConfig = TestConfig.getConfig() ...

  6. Hyperledger Fabric 1.0 从零开始(十二)——fabric-sdk-java应用【补充】

    在 Hyperledger Fabric 1.0 从零开始(十二)--fabric-sdk-java应用 中我已经把官方sdk具体改良办法,即使用办法发出来了,所有的类及文件都是完整的,在文章的结尾也 ...

  7. Hyperledger Fabric 1.0 从零开始(十二)——fabric-sdk-java应用

    Hyperledger Fabric 1.0 从零开始(十)--智能合约 Hyperledger Fabric 1.0 从零开始(十一)--CouchDB 上述两章,最近网上各路大神文章云集,方案多多 ...

  8. 使用Node.JS访问Hyperledger Fabric的gRPC服务

    在即将正式发布的Hyperledger Fabric SDK 1.0中,Hyperledger Fabric通过gRPC提供服务接口以取代现有的REST API.本文介绍了如何使用Node.JS访问H ...

  9. Hyperledger Fabric 2.x Java区块链应用

    一.说明 在上一篇文章中 <Hyperledger Fabric 2.x 自定义智能合约> 分享了智能合约的安装并使用 cli 客户端进行合约的调用:本文将使用 Java 代码基于 fab ...

  10. 用Hyperledger Fabric(超级账本)来构建Java语言开发区块链的环境

    面向 Java 开发人员的链代码简介 您或许听说过区块链,但可能不确定它对 Java™ 开发人员有何用.本教程将帮助大家解惑.我将分步展示如何使用 Hyperledger Fabric v0.6 来构 ...

随机推荐

  1. Django1.6 + jQuery Ajax + JSON 实现页面局部实时刷新

    最近微信公众帐号要扩展做一个签到系统,签到结果在一个网页上实时更新,即页面局部刷新.我想用Ajax来实现,之前公众帐号是用的Django搭的,我查找了Django的官方文档,没有封装Ajax.网上有各 ...

  2. CISCO实验记录五:静态路由与RIP动态路由

    一.实验要求 1.创建设备间静态路由 2.检查三层连通性 3.清空路由,使用RIP创建动态路由 4.检查路由表 二.实验操作 1.创建设备静态路由 #iip route 192.168.1.0 255 ...

  3. Java获取当前时间及String、datetime、date相互转化

    一.获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; public class NowStrin ...

  4. Qt学习之如何启动和终止一个线程

    先来给出每个文件的相关代码然后再加以分析 //*************dialog.h**************// #ifndef DIALOG_H #define DIALOG_H #incl ...

  5. ubantu下docker安装

    开始安装 由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本: sudo apt-get remove docker docker-engine docker-ce docke ...

  6. Nginx优化之基本安全优化 (隐藏Nginx软件版本号信息,更改源码隐藏Nginx软件名及版本号,更改Nginx服务的默认用户)

    一,隐藏Nginx软件版本号信息 查看版本号 curl -I 192.168.0.220 HTTP/1.1 200 OK Server: nginx/1.6.2 #这里清晰的暴露了Web版本号(1.6 ...

  7. input上传指定类型的文件

    1. 谷歌–上传文件夹 添加属性webkitdirectory <input type = "file" webkitdirectory> 2. 上传文件–限制类型 添 ...

  8. Camera 录制视频的实现

    使用 Camera 录制视频, 实现步骤如下: 需要权限: android.permission.CAMERA android.permission.RECORD_AUDIO android.perm ...

  9. python之scrapy模块pipelines

    1.知识点 """" pipelines使用: 1.在spiders里面使用yield生成器 list_li = response.xpath("// ...

  10. Scala语法04 - 其他