http://blog.csdn.net/songbin830/article/details/78778806 完成多机布署.
参考贴子2: http://www.cnblogs.com/aberic/p/8206551.html ,把代码下到本地工程里。新手上路总会遇到
各种细节问题.重点来了:
使用git命令从github.com上拉下SDK-JAVA源码.
1,源码文件中有EclipseSetup.md的文件,介绍如何把源码项目导入eclipse.
2,导入eclipse后发现缺少 org.hyperledger.fabric.protos.*文件。github上的源码里也没有。解决办法:从
其它网站的 SDK-JAVA打包文件中找到源码包,把org.hyperledger.fabric.protos包中的源码copy到eclipse。
3,在orderer节点把 crypto-config文件夹中的内容copy到本机.其中包含了用命令工具生成的证书,身份信息
等内容
4,贴子2中代码如何用,其实跟源码中的测试用例中的代码差不多.初始化示例如下:因为贴子2是个demo类代码,
我作了些改动。有些代码没放ChaincodeManager()实例化。看一下这个类的构造方法,构造对应的需要的实例类
也不难
public static ChaincodeManager init() throws Exception{
FabricConfig fabricConfig = new FabricConfig("E:/fabricConfig"); //fabricConfig文件夹中包含
//crypto-config文件夹
Peers peers = new Peers(); //初始化peer节点
peers.setOrgDomainName("org1.ygsoft.com");
peers.setOrgMSPID("Org1MSP");
peers.setOrgName("Org1MSP");
//peers.addPeer("peer0.org1.ygsoft.com", "peer0.org1.ygsoft.com", "grpcs://10.121.60.2:7051", "grpcs://10.121.60.2:7053", null);
peers.addPeer("peer1.org1.ygsoft.com", "peer1.org1.ygsoft.com", "grpcs://10.121.60.3:7051", "grpcs://10.121.60.3:7053", null);
fabricConfig.setPeers(peers);
//初始化orderer节点
Orderers orders = new Orderers();
orders.setOrdererDomainName("ygsoft.com");
orders.addOrderer("orderer.ygsoft.com", "grpcs://10.121.60.1:7050");
fabricConfig.setOrderers(orders);
fabricConfig.setRegisterEvent(true);
ChaincodeManager chainManager = new ChaincodeManager(fabricConfig);
return chainManager;
}
5,其它参数,比如chaincode相关信息可以在peer节点 peer chaincode list --installed 命令可以查看
可以调用这个ChaincodeManager 的query和invoke方法了.
6,补充内容:需要shim-client.jar包,这个需要拉下fabric的源码,在文件夹
\src\github.com\hyperledger\fabric\core\chaincode\shim\java 用gradle编译一个jar包出来
7,如果grpc用了ssl的需要 grpcs://10.121.60.3:7051,grpcs开头
因为网上有了fabric多机布署教程,和不完善的示例代码,这里主要介绍一下其中容易遇到的问题,解决起
来也颇为头痛和费时。
本贴原地址:http://www.blogjava.net/fool .下一篇区块链贴子预告:Fabric的SDK-JAVA动态安装
Channel