真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Hyperledgercomposer與其他網(wǎng)絡(luò)互動的示例分析

這篇文章給大家分享的是有關(guān)Hyperledger composer與其他網(wǎng)絡(luò)互動的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的猇亭網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

Hyperledger Composer包含的功能可供業(yè)務(wù)網(wǎng)絡(luò)用于訪問另一個(gè)業(yè)務(wù)網(wǎng)絡(luò)中記錄的資產(chǎn),參與者或交易。

1、啟動Hyperledger Fabric網(wǎng)絡(luò)

    必須啟動Hyperledger Fabric網(wǎng)絡(luò)。您可以使用開發(fā)環(huán)境中提供的簡單Hyperledger Fabric網(wǎng)絡(luò),也可以使用您通過遵循Hyperledger Fabric文檔構(gòu)建的自己的Hyperledger Fabric網(wǎng)絡(luò)。

    上一篇博客fabric-dev-servers 啟動網(wǎng)絡(luò),用它簡單的啟動Hyperledger Fabric網(wǎng)絡(luò)

    1.1 運(yùn)行以下命令啟動一個(gè)干凈的Hyperledger Fabric

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

    1.2 刪除您的錢包中可能存在的任何商業(yè)網(wǎng)絡(luò)卡。忽略表示無法找到商業(yè)網(wǎng)卡的任何錯(cuò)誤是安全的:

composer card delete -c PeerAdmin@hlfv1

    1.3 如果這些命令失敗,則表示有以前版本的業(yè)務(wù)網(wǎng)卡,將不得不刪除文件系統(tǒng)卡存儲。

    rm -fr ~/.composer

    1.4 通過運(yùn)行以下命令來創(chuàng)建對等管理卡

./createPeerAdminCard.sh

2、定義商業(yè)網(wǎng)絡(luò)

    2.1 按照第10篇博客的第一步和第二步。這將是網(wǎng)絡(luò)A.

    2.2 再次執(zhí)行第一步和第二步,但創(chuàng)建一個(gè)名為業(yè)務(wù)網(wǎng)絡(luò)other-tutorial-network。這將是網(wǎng)絡(luò)B.

    2.3 交易邏輯需要在網(wǎng)絡(luò)A中更新并且查詢商業(yè)網(wǎng)絡(luò)B中的資產(chǎn),然后更新商業(yè)網(wǎng)絡(luò)A中的資產(chǎn)的數(shù)量屬性。

替換logic.js腳本文件的內(nèi)容以更新事務(wù)處理器功能為以下內(nèi)容

        /**
         * 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、部署業(yè)務(wù)網(wǎng)絡(luò)

    3.1 使用以下命令安裝并啟動業(yè)務(wù)網(wǎng)絡(luò)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 使用以下命令安裝并啟動業(yè)務(wù)網(wǎng)絡(luò)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 要檢查業(yè)務(wù)網(wǎng)絡(luò)是否已成功部署,請運(yùn)行以下命令以ping通業(yè)務(wù)網(wǎng)

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

4、創(chuàng)建資產(chǎn)

    4.1 在業(yè)務(wù)網(wǎng)絡(luò)A中創(chuàng)建一個(gè)參與者。運(yùn)行以下命令

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

    4.2 在業(yè)務(wù)網(wǎng)絡(luò)A中創(chuàng)建資產(chǎn)

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 在業(yè)務(wù)網(wǎng)絡(luò)B中創(chuàng)建一個(gè)參與者。運(yùn)行以下命令

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

    4.4 在業(yè)務(wù)網(wǎng)絡(luò)B中創(chuàng)建資產(chǎn)。運(yùn)行以下命令。請注意不同的數(shù)量屬性。

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、將網(wǎng)絡(luò)A上的身份綁定到網(wǎng)絡(luò)B上的參與者

    5.1 導(dǎo)出網(wǎng)絡(luò)卡以獲取憑證

composer card export -c networkA

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

    5.3 將身份綁定到參與者。運(yùn)行以下命令。

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

    5.4 導(dǎo)入卡

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網(wǎng)絡(luò)以激活身份

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

    5.6 Ping網(wǎng)絡(luò)以激活身份

composer network ping --card newNetworkB

6、查看資產(chǎn)數(shù)據(jù)

    6.1 查看資產(chǎn)以查看數(shù)量為250。

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

7、提交交易

    7.1 提交交易以查看在不同的業(yè)務(wù)網(wǎng)絡(luò)上查詢資產(chǎn)的效果。請注意,只能查詢NetworkB,并且數(shù)量不會更改。

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、檢查更新后的資產(chǎn)

    8.1 查看更新資產(chǎn)以檢查數(shù)量是否已正確更新至500。

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

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


當(dāng)前題目:Hyperledgercomposer與其他網(wǎng)絡(luò)互動的示例分析
文章鏈接:http://weahome.cn/article/ggjijh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部