Hyperledger Fabric(三)- fabric-sdk-java
2017-12-26 20:06
761 查看
一、 Fabric SDK
目前最新的Hyperledger Fabric的官方文档(v1.1.0-preview)上,对于Fabric SDK的描述仍少的可怜,仅是简单的几句描述,再加上两个github链接:fabric-sdk-node
fabric-sdk-java
其实通过Hyperledger在github上的项目我们可以看到,Hyperledger Fabric还提供了另外三种SDK:
fabric-sdk-go
fabric-sdk-py
fabric-sdk-rest
其中,当然是官方文档提到的
fabric-sdk-node以及
fabric-sdk-java的star更多,使用更 方便 。方便是不可能的,这辈子都不可能的。
官方仅仅是给出了一份 完善 较为完善的nodejs文档,和一份可以说根本不算文档的java 启动说明 eclipse启动说明。所以如果可以的话,暂时更推荐使用
fabric-sdk-node,嗯然后今天我用到的是
fabric-sdk-java。
二、 fabric-java-sdk
由于没有文档,那么最好的使用方法就是查看测试用例,先将测试用例跑通。测试用例中已经准备好了一套fabric的配置,只需在满足Prerequisites的基础上运行即可。2.1 Prerequisites
JDK 1.8+Apache Maven
IDEA / eclipse
Prerequisites
2.2 下载项目
$ git clone https://github.com/hyperledger/fabric-sdk-java[/code]2.3 导入项目
Intellij IDEA:以maven工程导入项目,导入依赖。
eclipse:详见fabric-sdk-java/docs/EclipseSetup.md。2.4 第三方依赖
Fabric SDK依赖于少量第三方库,在运行前在根目录位置执行以下指令,得到依赖列表:$ mvn dependency:tree
或者是$ mvn dependency:list2.5 运行fabric
$ cd fabric-sdk-java/src/test/fixture/sdkintegration $ ./fabric up
如果出现ERROR: mainfest for hyperledger/fabric-orderer:latest not found
则将fabric-sdk-java/src/test/fixture/sdkintegration/.env做如下修改#Image tags: IMAGE_TAG_FABRIC=:x86_64-1.0.1 IMAGE_TAG_FABRIC_CA=:x86_64-1.0.1 #IMAGE_TAG_FABRIC= #IMAGE_TAG_FABRIC_CA=
如果提示:Pemmision denied
则给fabric.sh赋权$ chmod +x fabric.sh
成功运行如图所示:2.6 运行测试用例
我们挑选一份最常用的End2endIT.java运行:
注意:每次进行测试都需要重新运行fabric.sh脚本,建议以下指令对fabric环境进行清理,特别是在修改chaincode的情况下。$ ./fabric.sh clean2.7 构造自己的调用和查询方法
可以按照自己的需要提取方法方便调试:三、 后话
体会到了文档的重要性,当然最终在有SDK的情况下对chaincode进行调试方便了很多。除此之外这份测试用例还能被拿来做多节点的测试,可以说是很强大了。四、 参考链接
fabric-sdk-java
相关文章推荐
- Hyperledger Fabric 1.0 从零开始(十二)——fabric-sdk-java应用
- hyperledger/fabric sdk-java编译
- Hyperledger Fabric Node SDK
- hyperledger/fabric-sdk-node测试运行
- Hyperledger Fabric SDK 示例fabric-samples-《balance-transfer》之三《加入到Channel》
- windows下 hyperledger fabric-sdk-go编译
- Hyperledger Fabric SDK 示例fabric-samples-《balance-transfer》之九《查询指定的交易信息》
- Hyperledger Fabric SDK 示例fabric-samples-《balance-transfer》之五《初始化chaincode》
- HyperLedger Fabric的Java Chaincode配置
- Hyperledger Fabric SDK 示例fabric-samples-《balance-transfer》之二《创建Channel》
- Hyperledger Fabric SDK 示例fabric-samples-《balance-transfer》之十《查询链信息》
- Hyperledger Fabric SDK 示例fabric-samples-《balance-transfer》之十一《查询已经安装/实例化的chaincode》
- Hyperledger Fabric SDK 示例fabric-samples-《balance-transfer》之七《查询chaincode》
- Hyperledger Fabric Client SDK for Go 下载与配置
- Hyperledger Fabric SDK 示例fabric-samples-《balance-transfer》之四《安装chaincode》
- Hyperledger Fabric SDK 示例fabric-samples-《balance-transfer》之八《查询指定的区块信息》
- Java为Hyperledger Fabric(超级账本)开发区块链链代码智能合约之环境部署
- 使用HFC SDK for Node.js 开发 Hyperledger Fabric 客户端应用系统
- Hyperledger Fabric SDK 示例fabric-samples-《balance-transfer》之十二《查询已经加入的channel名称》
- Hyperledger Fabric SDK 示例fabric-samples-《balance-transfer》之六《执行chaincode》