SDK帮助促进Java应用程序管理Hyperledger通道和用户链码的生命周期,还提供了在channel上执行chaincode,query blocks和transactions,以及监视通道上事件的方法
注意:SDK不为客户端的应用定义通道和用户工件提供持久性方法,这留给嵌入式应用程序进行管理,可以在客户端的上下文中通过Java序列化来序列化通道,反序列化的通道未处于初始化状态,应用程序需要处理版本之间的序列化文件迁移。
git clone https://github.com/hyperledger/fabric-sdk-java.git
cd fabric-sdk-java/
git checkout -b release-1.2
在Java应用中使用最新的v1.3.x版本
org.hyperledger.fabric-sdk-java
fabric-sdk-java
1.3.0-SNAPHOST
局限性
想使用SNAPSHOT构建可以将以下内容添加到应用程序的pom.xml中
snapshots-repo
https://oss.sonatype.org/content/repositories/snapshots
false
true
org.hyperledger.fabric-sdk-java
fabric-sdk-java
1.3.0-SNAPSHOT
启动Fabric网络(上面提到过SDK不提供持久性方法,因此此步骤需要每次测试阶段都要执行)
在Eclipse上安装
准备工作:
将JavaHOME/bin和maven添加到环境变量path中(具体方法可以ask baidu)
安装Eclipse
1.
经过以上步骤就安装好了
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服务