<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    java隨記

    堅持就是勝利!

     

    開源區塊鏈Hyperleger Fabric通過SDK-JAVA動態添加通道


    在閱讀本篇之前需要理解
    configtxgen工具使用原理.基本上能跑通
    開源區塊鏈Hyperleger Fabric的SDK-JAVA新手上路指引

    中的內容。可以參考http://m.tkk7.com/fool/archive/2018/02/01/433032.html.
    如果知道通過命令行工具進行智能合約的安裝測試就更好了。fabric中的channel可以理解為泳道。在這個泳道中可以布署
    多個智能合約。當然也可以安裝多個channel. 順便多一嘴,在智能合約可以調用另一個channel中的智能合約中的查詢方法.
    通過sdk動態安裝通道的步驟:
    1,通過configtxgen命令生成交易通道初始文件.
    configtxgen --profile TestSoft --outputCreateChannelTx testsoft.tx --channelID testsoft
    2,下載testsoft.tx到本機.
    3,sdk安裝通道代碼及解釋
    @Override
    public boolean installChannel(String channelName) throws IOException, InvalidArgumentException, TransactionException, ProposalException {
    // TODO Auto-generated method stub
     String configPath = this.config.getConfigPath();
                             //初始化 ChannelConfiguration 對象.參數是通道初始化文件路徑
     ChannelConfiguration channelConfiguration = new ChannelConfiguration(new File(configPath + "/"+channelName + ".tx"));
      //構造orderder節點信息
       String ordererName = orderers.get().get(0).getOrdererName();
    Properties ordererProperties = loadOrderProperty(ordererName);
    Orderer anOrderer = client.newOrderer(
    ordererName,
    orderers.get().get(0).getOrdererLocation(), ordererProperties);
           //Create channel that has only one signer that is this orgs peer admin. If channel creation policy needed more signature they would need to be added too.
           Channel channel = client.newChannel(channelName, anOrderer, channelConfiguration, client.getChannelConfigurationSignature(channelConfiguration, fabricOrg.getPeerAdmin()));
                           //構造peer節點信息,并且將peer節點加入到通道中。peer節點加入通道后,才能通過該peer節點中訪問通道中的智能合約
           for (com.ygsoft.fabric.bean.Peers.Peer p : config.getInstallPeers().get()) {
    Properties peerProperties = this.loadPeerProperties(p.getPeerName());
    Peer peer = client.newPeer(p.getPeerName(),p.getPeerLocation(),peerProperties);
    channel.joinPeer(peer);
    }
    for (int i = 0; i < orderers.get().size(); i++) {
    Properties ordererProperties2 = loadOrderProperty(ordererName);
    channel.addOrderer(client.newOrderer(
    orderers.get().get(i).getOrdererName(),
    orderers.get().get(i)
    .getOrdererLocation(), ordererProperties2));
    }
    log.debug("channel.isInitialized() = " + channel.isInitialized());
      channel.initialize();
     return true;
    }

    知道了手工命令行安裝合約的過程,上面的理解還是比較簡單的。安裝通道后就可以調用sdk安裝合約了。











    posted on 2018-03-12 11:55 傻 瓜 閱讀(2798) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    常用鏈接

    留言簿(7)

    我參與的團隊

    隨筆分類

    隨筆檔案

    文章分類

    友情鏈接

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产小视频在线免费| 久久99国产乱子伦精品免费| 大陆一级毛片免费视频观看| 亚洲日韩乱码中文无码蜜桃 | 亚洲视频在线观看地址| 中出五十路免费视频| 国产亚洲一区二区三区在线观看| 一级特黄aaa大片免费看| 亚洲成a人在线看天堂无码| 黄页网址在线免费观看| 亚洲国产专区一区| 羞羞视频免费网站在线看| 国产AⅤ无码专区亚洲AV| 久久一区二区免费播放| 久久久久久久久亚洲| 8x成人永久免费视频| 亚洲中文字幕久在线| 最近中文字幕免费mv视频8| 亚洲av色香蕉一区二区三区| 国产91在线免费| 两性色午夜免费视频| 久久丫精品国产亚洲av不卡| 国产h视频在线观看免费| 色天使亚洲综合一区二区| 亚洲乱亚洲乱少妇无码| 国产成人AV免费观看| 亚洲国产日产无码精品| 国产精品高清全国免费观看| 国产A∨免费精品视频| 久久久无码精品亚洲日韩京东传媒| 男女超爽刺激视频免费播放| 国产亚洲视频在线播放大全| 亚洲无线码在线一区观看| 无码乱肉视频免费大全合集| 国产成人高清亚洲一区91| 久久精品国产亚洲AV麻豆王友容 | 国内精品免费在线观看| 亚洲精品视频在线免费| 国产成人免费A在线视频| 久久这里只精品国产免费10| 亚洲AV综合永久无码精品天堂|