该项目可直接在github上访问。
该项目介绍如何使用fabric-sdk-java框架,基于fabric-sdk-java v1.1正式版开发,可向下兼容1.0版本。
该项目没有对原JAVA-SDK作修改,主要是结合HyperLedger Fabric与fabric-sdk-java中的交互方式作了我的感受更为清晰的描述,但愿可以帮助更多的人尽快熟悉fabric-sdk-java的操做流程和方式。
java
sdk-advance是基于fabric-sdk-java v1.1的服务,其主要目的是为了更简单的使用fabric-sdk-java,对原有的调用方法作了进一步封装,主要提供了各类中转对象,如智能合约、通道、排序服务、节点、用户等等,最终将全部的中转对象交由一个中转组织来负责配置,其对外提供服务的方式则交给FabricManager来掌管。
该项目仅做为学习分享的形式提交维护,关于生产部署方面,sdk-advance与app的交互可自行选择采用thrift或protobuf等数据传输协议实现,这里并无提供该方案的具体实现,须要本身动手解决。
git
intermediate系列对象是该项目的主要封装对象,间接屏蔽了真实应用层与fabric-sdk-java之间的直接交互。github
simple是一个基于spring-boot的项目,在simple中主要关注SimpleManager对象的使用,该对象的使用建议根据自身业务的实际需求从新包装上线,但直接基于此项目应用也没什么大问题。个人这个simple中的ip的本身申请的服务器,你们能够随便测试,但不保证有效期,建议自行搭建本地服务测试。spring
调用示例:数据库
1 OrgManager orgManager = new OrgManager(); 2 orgManager 3 .init("Org1") 4 .setUser("Admin", getCryptoConfigPath("aberic"), getChannleArtifactsPath("aberic")) 5 .setCA("ca", "http://118.89.243.236:7054") 6 .setPeers("Org1MSP", "org1.example.com") 7 .addPeer("peer0.org1.example.com", "peer0.org1.example.com", "grpc://118.89.243.236:7051", "grpc://118.89.243.236:7053", true) 8 .setOrderers("example.com") 9 .addOrderer("orderer.example.com", "grpc://118.89.243.236:7050") 10 .setChannel("mychannel") 11 .setChainCode("test2cc", "/code", "chaincode/chaincode_example02", "1.2", 90000, 120) 12 .openTLS(true) 13 .openCATLS(false) 14 .setBlockListener(map -> { 15 logger.debug(map.get("code")); 16 logger.debug(map.get("data")); 17 }) 18 .add(); 19 FabricManager fabricManager = orgManager.use("Org1"); 20 fabricManager.install(); 21 fabricManager.instantiate(argArray); 22 fabricManager.upgrade(argArray); 23 fabricManager…