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

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

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

    java隨記

    堅持就是勝利!

     

    開源區(qū)塊鏈Hyperleger Fabric通過SDK-JAVA動態(tài)添加通道


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

    中的內(nèi)容??梢詤⒖糷ttp://m.tkk7.com/fool/archive/2018/02/01/433032.html.
    如果知道通過命令行工具進行智能合約的安裝測試就更好了。fabric中的channel可以理解為泳道。在這個泳道中可以布署
    多個智能合約。當然也可以安裝多個channel. 順便多一嘴,在智能合約可以調(diào)用另一個channel中的智能合約中的查詢方法.
    通過sdk動態(tài)安裝通道的步驟:
    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 對象.參數(shù)是通道初始化文件路徑
     ChannelConfiguration channelConfiguration = new ChannelConfiguration(new File(configPath + "/"+channelName + ".tx"));
      //構(gòu)造orderder節(jié)點信息
       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()));
                           //構(gòu)造peer節(jié)點信息,并且將peer節(jié)點加入到通道中。peer節(jié)點加入通道后,才能通過該peer節(jié)點中訪問通道中的智能合約
           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;
    }

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











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


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


    網(wǎng)站導航:
     

    導航

    統(tǒng)計

    常用鏈接

    留言簿(7)

    我參與的團隊

    隨筆分類

    隨筆檔案

    文章分類

    友情鏈接

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲激情电影在线| 亚洲第一成年网站大全亚洲| 亚洲av无码兔费综合| 九九精品免费视频| xxx毛茸茸的亚洲| 成在人线AV无码免费| 国产精品亚洲AV三区| 免费一级肉体全黄毛片| 一级黄色片免费观看| 亚洲日韩乱码中文无码蜜桃臀网站| eeuss影院www天堂免费| 亚洲AV无码一区二区二三区入口| 久久久久国产免费| 亚洲剧情在线观看| 午夜免费不卡毛片完整版| WWW亚洲色大成网络.COM| 亚洲精品A在线观看| 国产激情免费视频在线观看| 亚洲码在线中文在线观看| 午夜毛片不卡高清免费| 一级毛片aaaaaa视频免费看| 不卡一卡二卡三亚洲| 久久久久国产免费| 亚洲AV无码一区二区三区性色 | 中文字幕乱码系列免费| 亚洲AV综合色一区二区三区| 亚洲免费观看网站| 成人精品国产亚洲欧洲| 亚洲电影中文字幕| 性感美女视频在线观看免费精品| 免费看一级一级人妻片 | 免费在线人人电影网| 亚洲s色大片在线观看| 成全高清视频免费观看| 国产在线观看无码免费视频| 天天爽亚洲中文字幕| 久久久久亚洲av成人无码电影| 五月亭亭免费高清在线| 色多多免费视频观看区一区| 亚洲日本在线看片| 亚洲成a人片在线播放|