中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hyperledger composer與其他網絡互動的示例分析

發布時間:2021-12-06 15:15:40 來源:億速云 閱讀:149 作者:小新 欄目:互聯網科技

這篇文章給大家分享的是有關Hyperledger composer與其他網絡互動的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

Hyperledger Composer包含的功能可供業務網絡用于訪問另一個業務網絡中記錄的資產,參與者或交易。

1、啟動Hyperledger Fabric網絡

    必須啟動Hyperledger Fabric網絡。您可以使用開發環境中提供的簡單Hyperledger Fabric網絡,也可以使用您通過遵循Hyperledger Fabric文檔構建的自己的Hyperledger Fabric網絡。

    上一篇博客fabric-dev-servers 啟動網絡,用它簡單的啟動Hyperledger Fabric網絡

    1.1 運行以下命令啟動一個干凈的Hyperledger Fabric

cd ~/fabric-dev-servers
./stopFabric.sh
./teardownFabric.sh
./downloadFabric.sh
./startFabric.sh

    1.2 刪除您的錢包中可能存在的任何商業網絡卡。忽略表示無法找到商業網卡的任何錯誤是安全的:

composer card delete -c PeerAdmin@hlfv1

    1.3 如果這些命令失敗,則表示有以前版本的業務網卡,將不得不刪除文件系統卡存儲。

    rm -fr ~/.composer

    1.4 通過運行以下命令來創建對等管理卡

./createPeerAdminCard.sh

2、定義商業網絡

    2.1 按照第10篇博客的第一步和第二步。這將是網絡A.

    2.2 再次執行第一步和第二步,但創建一個名為業務網絡other-tutorial-network。這將是網絡B.

    2.3 交易邏輯需要在網絡A中更新并且查詢商業網絡B中的資產,然后更新商業網絡A中的資產的數量屬性。

替換logic.js腳本文件的內容以更新事務處理器功能為以下內容

        /**
         * Track the trade of a commodity from one trader to another
         * @param {org.example.mynetwork.Trade} trade - the trade to be processed
         * @transaction
         */async function tradeCommodity(trade) {trade.commodity.owner = trade.newOwner;const otherNetworkData = await getNativeAPI().invokeChaincode('other-tutorial-network', ['getResourceInRegistry', 'Asset', 'org.example.mynetwork.Commodity', trade.commodity.tradingSymbol], 'composerchannel');                    const stringAsset = new Buffer(otherNetworkData.payload.toArrayBuffer()).toString('utf8');const asset = getSerializer().fromJSON(JSON.parse(stringAsset));trade.commodity.quantity = asset.quantity;const assetRegistry = await getAssetRegistry('org.example.mynetwork.Commodity');await assetRegistry.update(trade.commodity);}

    2.4 按照第10篇博客第三步。

3、部署業務網絡

    3.1 使用以下命令安裝并啟動業務網絡A.

composer network install --card PeerAdmin@hlfv1 --archiveFile tutorial-network@0.0.1.bna
composer network start --networkName tutorial-network --networkVersion 0.0.1 --networkAdmin admin --networkAdminEnrollSecret adminpw --card PeerAdmin@hlfv1 --file networkA.card
composer card import --file networkA.card --card networkA

    3.2 使用以下命令安裝并啟動業務網絡B.

composer network install --card PeerAdmin@hlfv1 --archiveFile other-tutorial-network@0.0.1.bna
composer network start --networkName other-tutorial-network --networkVersion 0.0.1 --networkAdmin admin --networkAdminEnrollSecret adminpw --card PeerAdmin@hlfv1 --file networkB.card
composer card import --file networkB.card --card networkB

    3.3 要檢查業務網絡是否已成功部署,請運行以下命令以ping通業務網

composer network ping --card networkA
composer network ping --card network

4、創建資產

    4.1 在業務網絡A中創建一個參與者。運行以下命令

composer participant add --card networkA -d '{"$class": "org.example.mynetwork.Trader", "tradeId": "bob@example.com", "firstName": "Bob", "lastName": "Jones"}'

    4.2 在業務網絡A中創建資產

composer transaction submit --card networkA -d '{"$class": "org.hyperledger.composer.system.AddAsset","registryType": "Asset","registryId": "org.example.mynetwork.Commodity", "targetRegistry" : "resource:org.hyperledger.composer.system.AssetRegistry#org.example.mynetwork.Commodity", "resources": [{"$class": "org.example.mynetwork.Commodity","tradingSymbol": "Ag","owner": "resource:org.example.mynetwork.Trader#bob@example.com","description": "a lot of gold", "mainExchange": "exchange", "quantity" : 250}]}'

    4.3 在業務網絡B中創建一個參與者。運行以下命令

composer participant add --card networkB -d '{"$class": "org.example.mynetwork.Trader", "tradeId": "fred@example.com", "firstName": "Fred", "lastName": "Bloggs"}'

    4.4 在業務網絡B中創建資產。運行以下命令。請注意不同的數量屬性。

composer transaction submit --card networkB -d '{"$class": "org.hyperledger.composer.system.AddAsset","registryType": "Asset","registryId": "org.example.mynetwork.Commodity", "targetRegistry" : "resource:org.hyperledger.composer.system.AssetRegistry#org.example.mynetwork.Commodity", "resources": [{"$class": "org.example.mynetwork.Commodity","tradingSymbol": "Ag","owner": "resource:org.example.mynetwork.Trader#fred@example.com","description": "a lot of gold", "mainExchange": "exchange", "quantity" : 500}]}'

5、將網絡A上的身份綁定到網絡B上的參與者

    5.1 導出網絡卡以獲取憑證

composer card export -c networkA

    5.2 解壓縮卡,您可能需要將networkA.card重命名為networkA.zip。

    5.3 將身份綁定到參與者。運行以下命令。

composer identity bind --card networkB --participantId resource:org.hyperledger.composer.system.NetworkAdmin#admin --certificateFile ./networkA/credentials/certificate

    5.4 導入卡

composer card create -p ~/.composer/cards/networkB/connection.json --businessNetworkName other-tutorial-network -u admin -c ./networkA/credentials/certificate  -k ./networkA/credentials/privateKey -f newNetworkB.card

    5.5 Ping網絡以激活身份

composer card import --file newNetworkB.card --card newNetworkB

    5.6 Ping網絡以激活身份

composer network ping --card newNetworkB

6、查看資產數據

    6.1 查看資產以查看數量為250。

    composer network list --card networkA -r org.example.mynetwork.Commodity -a Ag

7、提交交易

    7.1 提交交易以查看在不同的業務網絡上查詢資產的效果。請注意,只能查詢NetworkB,并且數量不會更改。

composer transaction submit --card networkA -d '{"$class": "org.example.mynetwork.Trade", "commodity": "resource:org.example.mynetwork.Commodity#Ag", "newOwner": "resource:org.example.mynetwork.Trader#bobId"}'

8、檢查更新后的資產

    8.1 查看更新資產以檢查數量是否已正確更新至500。

    composer network list --card networkA -r org.example.mynetwork.Commodity -a Ag

感謝各位的閱讀!關于“Hyperledger composer與其他網絡互動的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乌苏市| 通城县| 北流市| 荆州市| 汕头市| 健康| 木里| 安陆市| 遵化市| 前郭尔| 宝鸡市| 通许县| 台中市| 登封市| 鄯善县| 陆川县| 武山县| 樟树市| 兴义市| 大城县| 罗定市| 鄯善县| 金平| 桓仁| 苏州市| 寿宁县| 岑溪市| 临高县| 罗平县| 余庆县| 古田县| 社旗县| 大城县| 乐业县| 仪征市| 视频| 永仁县| 保康县| 探索| 宁都县| 洛浦县|