<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)

    我參與的團隊

    隨筆分類

    隨筆檔案

    文章分類

    友情鏈接

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲a∨无码一区二区| 国产成人亚洲精品影院| 欧洲亚洲综合一区二区三区 | 亚洲综合激情九月婷婷| 免费无码又爽又刺激高潮视频| 国产亚洲精品影视在线| 亚洲欧洲精品成人久久奇米网 | 亚洲成a人片在线观看天堂无码 | aⅴ在线免费观看| 精品国产亚洲一区二区三区在线观看 | 四虎在线最新永久免费| 亚洲欧美成人综合久久久| 自拍偷自拍亚洲精品第1页| 18禁美女黄网站色大片免费观看| 亚洲国产高清国产拍精品| 国产精品亚洲片在线| 成年女人看片免费视频播放器| 99久久免费国产特黄| 亚洲不卡中文字幕| 免费播放特黄特色毛片| 国产又黄又爽又猛免费app| 99在线视频免费观看| 黄色a级免费网站| 亚洲另类无码专区丝袜| 亚洲精品国产福利在线观看| 亚洲乱码一区二区三区在线观看| 女人毛片a级大学毛片免费| 久久一区二区三区免费播放| 一级毛片免费观看不收费| 亚洲国产成人精品无码区二本 | 国产裸体美女永久免费无遮挡| 久久水蜜桃亚洲AV无码精品 | 97在线免费观看视频| av成人免费电影| 在线播放免费人成视频网站| 激情小说亚洲色图| 一级毛片人与动免费观看| 一本久久A久久免费精品不卡| xxxxx做受大片视频免费| 国产黄在线播放免费观看| 午夜亚洲国产精品福利|