溫馨提示×

溫馨提示×

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

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

HyperLedgr如何部署以及初始化網(wǎng)絡(luò)

發(fā)布時間:2021-12-06 14:04:43 來源:億速云 閱讀:183 作者:小新 欄目:互聯(lián)網(wǎng)科技

小編給大家分享一下HyperLedgr如何部署以及初始化網(wǎng)絡(luò),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

先決條件列表

  • 最新版本的 git

  • 最新版本的 curl

  • 任意版本的 wget

  • docker 和 docker-compose
    docker --version需要

  • Go 環(huán)境設(shè)置

  • Node.js 環(huán)境設(shè)置(包括 npm)

  • Python

安裝示例、二進(jìn)制和 Docker 映像

根據(jù)腳本下載源文件, 并存儲到 bin 文件夾,最后該腳本將從 Docker Hub 下載最新的 Hyperledger Fabric Docker 鏡像到本地的 Docker 注冊表

測試安裝環(huán)境正確性

開始之前

確認(rèn)第二章節(jié)的安裝實(shí)例工作成功

啟動測試網(wǎng)絡(luò)

cd fabric-samples/test-network
啟用./network.sh -h查看測試網(wǎng)絡(luò)搭建腳本的用法

1.Usage:
2.  network.sh <Mode> [Flags]
3.    <Mode>
4.      - 'up' - bring up fabric orderer and peer nodes. No channel is created
5.      - 'up createChannel' - bring up fabric network with one channel
6.      - 'createChannel' - create and join a channel after the network is created
7.      - 'deployCC' - deploy the fabcar chaincode on the channel
8.      - 'down' - clear the network with docker-compose down
9.      - 'restart' - restart the network
10.
11.    Flags:
12.    -ca <use CAs> -  create Certificate Authorities to generate the crypto material
13.    -c <channel name> - channel name to use (defaults to "mychannel")
14.    -s <dbtype> - the database backend to use: goleveldb (default) or couchdb
15.    -r <max retry> - CLI times out after certain number of attempts (defaults to 5)
16.    -d <delay> - delay duration in seconds (defaults to 3)
17.    -l <language> - the programming language of the chaincode to deploy: go (default), javascript, or java
18.    -v <version>  - chaincode version. Must be a round number, 1, 2, 3, etc
19.    -i <imagetag> - the tag to be used to launch the network (defaults to "latest")
20.    -verbose - verbose mode
21.  network.sh -h (print this message)
22.
23. Possible Mode and flags
24.  network.sh up -ca -c -r -d -s -i -verbose
25.  network.sh up createChannel -ca -c -r -d -s -i -verbose
26.  network.sh createChannel -c -r -d -verbose
27.  network.sh deployCC -l -v -r -d -verbose
28.
29. Taking all defaults:
30.    network.sh up
31.
32. Examples:
33.  network.sh up createChannel -ca -c mychannel -s couchdb -i 2.0.0-beta
34.  network.sh createChannel -c channelName
35.  network.sh deployCC -l javascript

當(dāng)使用這個腳本network.sh up時將不產(chǎn)生任何人通道(只創(chuàng)建兩個組織和一個排序節(jié)點(diǎn))
docker ps -a命令會顯示目前計算機(jī)上創(chuàng)建的幾個節(jié)點(diǎn) (3)

創(chuàng)建頻道

使用腳本為 Org1 和 Org2 之間的事務(wù)創(chuàng)建 Fabric 通道,不同的通道有不同的分類帳本;./neteork.sh createChannel -c channelName

部署鏈碼

./network.sh deployCC -l javascript
init 將會初始化智能合約內(nèi)容,并調(diào)用鏈碼將初始化的數(shù)據(jù)寫入賬本

  • 查詢帳本所有信息
    Org1 的環(huán)境變量配置,查詢 Org2 的環(huán)境配置需更改

1.# Environment variables for Org1
2.
3.export CORE_PEER_TLS_ENABLED=true
4.# Change Org2MSP
5.export CORE_PEER_LOCALMSPID="Org1MSP"
6.# change org2.example.com && peer0.org2.example.com
7.export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
8.# change org2.example.com && Admin@org1.example.com
9.export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
10.export CORE_PEER_ADDRESS=localhost:7051

peer chaincode query -C mychannel -n fabcar -c '{"Args":["queryAllCars"]}'

  • 更改帳上資本
    peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls true --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n fabcar --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"function":"changeCarOwner","Args":["CAR9","Dave"]}'
    --peerAddresses localhost:7051表示 Org1 的地址
    --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt表示 Org1 的私鑰地址
    --peerAddresses localhost:9051表示 Org2 的地址
    --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt表示 Org2 的私鑰地址
    ‘命令太長了,還是使用 fabcar 里面的 sdk 編輯代碼更改吧’

  • 關(guān)閉網(wǎng)絡(luò)
    ./network.sh down該命令將停止并刪除節(jié)點(diǎn)、鏈碼容器、組織密鑰、Docker 注冊表中的鏈碼鏡像、通道、dock 卷。

使用證書頒發(fā)機(jī)構(gòu)啟動網(wǎng)絡(luò)

Hyperledger 結(jié)構(gòu)使用公鑰基礎(chǔ)結(jié)構(gòu)(PKI),創(chuàng)建對等節(jié)點(diǎn)和排序節(jié)點(diǎn)之前必須創(chuàng)建部署和操作網(wǎng)絡(luò)的所需的所有加密材料:節(jié)點(diǎn),網(wǎng)絡(luò)管理員,提交事務(wù)的用戶都需要公共證書和私鑰來驗證身份。
默認(rèn)情況使用Crptogen工具來創(chuàng)建證書和密鑰, 創(chuàng)建過程如下

/Usr/fabric-samples/test-network/../bin/cryptogen
##########################################################
############ Create Org1 Identities ######################
##########################################################
+ cryptogen generate --config=./organizations/cryptogen/crypto-config-org1.yaml --output=organizations
org1.example.com
+ res=0
+ set +x
##########################################################
############ Create Org2 Identities ######################
##########################################################
+ cryptogen generate --config=./organizations/cryptogen/crypto-config-org2.yaml --output=organizations
org2.example.com
+ res=0
+ set +x
##########################################################
############ Create Orderer Org Identities ###############
##########################################################
+ cryptogen generate --config=./organizations/cryptogen/crypto-config-orderer.yaml --output=organizations
+ res=0
+ set +x

以上是“HyperLedgr如何部署以及初始化網(wǎng)絡(luò)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI