Hyperledger Fabric-sdk-java
Hyperledger Fabric-sdk-java
本人使用环境为macOS High Sierra 10.13.4
、Java 9.0.4
目前Hyperledger Fabric官方主要是支持的fabric-sdk-node
,并且有较为完善的中英文文档。然而我的项目要求为Java,所有只能下载fabric-sdk-java
。
Prerequisite:
- Apache Maven(可以通过homebrew安装)
- JDK 1.8+(推荐就是1.8,项目就是用1.8写成的,用
Java 9
会和我一样遇见一些奇奇怪怪的问题) - 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文件
将source
和target
中的1.8
都改为9
如果在编译时还是报差某些类时,自己在pom.xml
中加上对应的dependency。比如我差java.annotation
我在dependency
中就加上了
解决完了这些依赖后我们再次编译就应该能够成功运行了。运行结果如下图。
Hyperledger Fabric-sdk-java的更多相关文章
- HyperLedger/Fabric SDK使用Docker容器镜像快速部署上线
HyperLedger/Fabric SDK Docker Image 该项目在github上的地址是:https://github.com/aberic/fabric-sdk-container ( ...
- 区块链:基于Hyperledger Fabric的 java 客户端开发(java sdk /java api server/java event server)
fabric针对java 开发的部分支持不是很友好.基于目前较为稳定的fabric 1.4版本,我们封装了一个java sdk,apiserver,eventServer 封装java sdk的主要目 ...
- hyperledger fabric 中java chaincode 支持离线打包
联盟链由于其本身的特性,目前应用在一些大型国有企业银行比较多.出于安全考虑,这些企业一般会隔离外网环境.所以在实际生产需求中可能存在需要在一个离线的环境中打包安装chaincode的情况. 本文基于这 ...
- Hyperledger Fabric SDK use case 1
///////////////////////////////////////////////////////////////////////:End2endAndBackAgainIT 1.Crea ...
- hyperledger fabric超级账本java sdk样例e2e代码流程分析
一 checkConfig Before 1.1 private static final TestConfig testConfig = TestConfig.getConfig() ...
- Hyperledger Fabric 1.0 从零开始(十二)——fabric-sdk-java应用【补充】
在 Hyperledger Fabric 1.0 从零开始(十二)--fabric-sdk-java应用 中我已经把官方sdk具体改良办法,即使用办法发出来了,所有的类及文件都是完整的,在文章的结尾也 ...
- Hyperledger Fabric 1.0 从零开始(十二)——fabric-sdk-java应用
Hyperledger Fabric 1.0 从零开始(十)--智能合约 Hyperledger Fabric 1.0 从零开始(十一)--CouchDB 上述两章,最近网上各路大神文章云集,方案多多 ...
- 使用Node.JS访问Hyperledger Fabric的gRPC服务
在即将正式发布的Hyperledger Fabric SDK 1.0中,Hyperledger Fabric通过gRPC提供服务接口以取代现有的REST API.本文介绍了如何使用Node.JS访问H ...
- Hyperledger Fabric 2.x Java区块链应用
一.说明 在上一篇文章中 <Hyperledger Fabric 2.x 自定义智能合约> 分享了智能合约的安装并使用 cli 客户端进行合约的调用:本文将使用 Java 代码基于 fab ...
- 用Hyperledger Fabric(超级账本)来构建Java语言开发区块链的环境
面向 Java 开发人员的链代码简介 您或许听说过区块链,但可能不确定它对 Java™ 开发人员有何用.本教程将帮助大家解惑.我将分步展示如何使用 Hyperledger Fabric v0.6 来构 ...
随机推荐
- centos与debian网卡
debian /etc/network/interfaces # This file describes the network interfaces available on your sys ...
- Spring创建对象的方法
1.利用无参构造器创建对象. 在代码中有一个学生类Student.java package no1; public class Student { public Student(){ System.o ...
- Python list 遇到的问题
1.list“+” 运算 <list += > diff. <ndarray +=> list1 += list2是追加,而不是加法运算 list1 = [0,0,0] lis ...
- Ubuntu18.04 server安装步骤
Ubuntu18.04 server安装步骤 1. select a language default 2. select your location default 3. configure th ...
- 刘汝佳dicnic模板
#include<iostream> #include<cstdio> #include<algorithm> #include<vector> #in ...
- LeetCode 122. 买卖股票的最佳时机 II(Best Time to Buy and Sell Stock II)
题目描述 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交易(你 ...
- legend3---7、videojs的使用配置的启示是什么
legend3---7.videojs的使用配置的启示是什么 一.总结 一句话总结: 很多东西网上都有现成的,直接拿来用就好,效果是又快又好 1.用auth认证登录的时候报 "validat ...
- JVM | 分代垃圾回收策略的基本概念以及过程
一.为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的.因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率. 在Java程序运行的过程中,会产生大量的对 ...
- springboot-mvc:入参日期类型转换String->Date
4种方式: 1.通过在application.ym中配置 spring.mvc.data-format: yyyy-MM-dd HH:mm:ss ,使用的是ParserConverter 优点:简单的 ...
- Java:基础知识点
1. 面向对象的特征 (1)封装:把过程和数据包围起来,对数据的访问只能通过已定义的界面.即现实世界可以被描绘成一系列完全自治.封装的对象,这些对象通过一个受保护的接口访问其他对象:(2)继承:是一种 ...