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://m.tkk7.com/fool .下一篇區塊鏈貼子預告:Fabric的SDK-JAVA動態安裝
Channel