<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 傻 瓜 閱讀(2815) 評論(0)  編輯  收藏


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


    網站導航:
     

    導航

    統計

    常用鏈接

    留言簿(7)

    我參與的團隊

    隨筆分類

    隨筆檔案

    文章分類

    友情鏈接

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久夜色精品国产亚洲AV动态图| 西西大胆无码视频免费| ssswww日本免费网站片| 成人片黄网站色大片免费观看cn | 亚洲中久无码永久在线观看同| 日本亚洲欧美色视频在线播放 | 免费av片在线观看网站| 亚洲国产精品自在线一区二区| 无码囯产精品一区二区免费| 婷婷亚洲综合五月天小说 | 亚洲αⅴ无码乱码在线观看性色| a级男女仿爱免费视频| 国产亚洲精品岁国产微拍精品| 国内精品久久久久影院免费| 亚洲一区二区三区四区在线观看| 亚洲免费在线视频播放| 亚洲国产成a人v在线| 深夜久久AAAAA级毛片免费看| 亚洲精品国产精品乱码不卞| 亚洲午夜成激人情在线影院| 无码一区二区三区免费视频| 亚洲精品无码成人AAA片| a级毛片免费播放| 亚洲精品在线免费观看| 日本视频免费高清一本18| 亚洲国产精品国产自在在线| 亚洲日韩av无码中文| 国产gav成人免费播放视频| 国产99久久久国产精免费 | 亚洲中文久久精品无码| 91免费播放人人爽人人快乐| 亚洲乱码一二三四五六区| 国产国产人免费人成免费视频| 中文在线免费看视频| 亚洲人成激情在线播放| 亚洲成A人片在线观看无码3D | 国产精品视频全国免费观看| 亚洲日韩乱码中文无码蜜桃臀 | 亚洲成av人片天堂网| 日韩av无码免费播放| 亚洲熟妇无码八V在线播放|