Fabric-Java-SDK官方文档

SDK帮助促进Java应用程序管理Hyperledger通道和用户链码的生命周期,还提供了在channel上执行chaincode,query blocks和transactions,以及监视通道上事件的方法

注意:SDK不为客户端的应用定义通道和用户工件提供持久性方法,这留给嵌入式应用程序进行管理,可以在客户端的上下文中通过Java序列化来序列化通道,反序列化的通道未处于初始化状态,应用程序需要处理版本之间的序列化文件迁移。

从GitHub上获取Java-SDK

git clone https://github.com/hyperledger/fabric-sdk-java.git
cd fabric-sdk-java/
git checkout -b release-1.2

在Java应用中使用最新的v1.3.x版本

<!--  https://mvnrepository.com/artifact/org.hyperledger.fabric-sdk-java/fabric-sdk-java -->
<dependency>
    <groupId>org.hyperledger.fabric-sdk-java</groupId>
    <artifactId>fabric-sdk-java</artifactId>
    <version>1.3.0-SNAPHOST</version>
</dependency>

局限性

  • 不支持TCerts:JIRA FAB-1401
  • 不支持HSM:JIRA FAB-3137

搭建1.3.0-SNAPSHOT

想使用SNAPSHOT构建可以将以下内容添加到应用程序的pom.xml中

<repositories>
<repository>
<id>snapshots-repo</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>

<dependencies>

<!-- https://mvnrepository.com/artifact/org.hyperledger.fabric-sdk-java/fabric-sdk-java -->
<dependency>
<groupId>org.hyperledger.fabric-sdk-java</groupId>
<artifactId>fabric-sdk-java</artifactId>
<version>1.3.0-SNAPSHOT</version>
</dependency>

</dependencies>

部署最新的Fabric

启动Fabric网络(上面提到过SDK不提供持久性方法,因此此步骤需要每次测试阶段都要执行)

在Eclipse上安装
准备工作:

  • JDK1.8或者更高
  • Apach Maven

将JavaHOME/bin和maven添加到环境变量path中(具体方法可以ask baidu)
安装Eclipse
1.

  1. 下载最新的Eclipse客户端
  2. If you want to contribute to the project, you will need to make sure you are logged in to Gerrit and have setup your SSH keys. For
    more information on this, refer to:
    http://hyperledger-fabric.readthedocs.io/en/latest/Gerrit/lf-account.html
  3. 从Gerrit下载JavaSDK : https://gerrit.hyperledger.org/r/fabric-sdk-java
  4. 如果需要的话,请先下载并配置好maven:https://maven.apache.org/download.cgi
  5. 导入步骤3中的项目:File>Import>Maven>Existing Maven Project。注意:如果报错:Failed to read the project description file for
    ‘fabric-sdk-java’. The file has been changed on dist, and it now
    contains invalid information. The project will not function properly
    until the description file is restored to a valid state.
    删除.project和.classpath文件,重新导入即可
  6. 完成,此处如果报错:No marketplace entries found to handle maven-antrun-plugin:1.4:run in Eclipse. Please see Help for more
    information. 继续点完成即可,稍后会自动解决
  7. 下载依赖,进入fabric-sdk-java文件夹,执行命令:mvn install -Dskip Tests
  8. 执行完第六步后,如果报错:Plugin execution not covered by lifecycle configuration:
    org.apache.maven.plugins:maven-antrun-plugin:1.4:run。右键错误并选择:Mark
    goal run as ignored in eclipse.
  9. 启动Checkstyle:Project》Properties》Checkstyle,选择“Checkstyle active for this project”“files outsides source directories” and “dericed
    files”
  10. 隐藏“Local Check Configurations”然后选择New》External Configuration File,取消“Browser”,从fabric-sdk-java根目录中选择“checkstyle-config.xml”
  11. 隐藏“Apple and Close”

经过以上步骤就安装好了

SDK依赖

SDK依赖一些第三方包,首先需要条件

  • JDK1.8及以上
  • Apache Maven 3.5.0

使用SDK

编译
当你的上述基本环境都搭建完成,构建.jar文件时,可以通过命令

mvn install
或者

mvn install -Dskip Tests

构建单元测试

构建单元测试,可以在单元测试的位置使用mvn install构建.jar文件
运行integration测试
必须要提供Fabric-ca,Fabric peers , Fabric orderers来进行完整的Fabric网络测试,使用maven命令进行集成测试

mvn clean install -DskiplTs=false -Dmaven.test.failure.ignore=false javadoc:javadoc

端到端的测试例子:

src/test/java/org/hyperledger/fabric/sdkintegration/End2endIT.java:是一个完整的例子,包括链码(chaincode)的安装(installing),初始化(instantiating),调用(invoking),查询(querying).它构造Hyperledger通道,部署Chaincode代码,调用Chaincode执行传输数据操作并查询生成的区块链状态.

src/test/java/org/hyperledger/fabric/sdkintegration/End2endAndBackAgainIT.java:展示了在End2endIT.java基础上重新创建通道对象,并更新链码以及链码操作等.

End2endIT.java和End2endAndBackAgainIT.java包括了几乎所有SDK可以做的事情,学习SDK之前必须对Fabric有所了解.然后最好可以跑一边这两个例子,当理解了,就可以将它们剪切粘贴到你的应用中.
端到端的测试环境

测试环境定义在一个Fabric orderer,两个组织中(peerOrg1,peerOrg2),每个组织包含两个peer,一个fabric-ca服务

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值