摘要:生成創(chuàng)世區(qū)塊生成配置交易定義錨節(jié)點為定義錨節(jié)點為定義錨節(jié)點啟動網(wǎng)絡(luò)創(chuàng)建和加入命令成功后顯示如下創(chuàng)建將加入創(chuàng)建的將加入創(chuàng)建的更新錨節(jié)點安裝實例化查詢
環(huán)境準(zhǔn)備 docker安裝
Docker最低版本要求是version 17.06.2-ce
推薦在Docker官網(wǎng)下載Mac版本
Go最低版本要求是 1.10.x
可在使用brew或者Go官網(wǎng)下載Mac版本
在home目錄新創(chuàng)建一個目錄,比如
makedir ~/fabric_learning cd ~/fabric_learning
下載腳本文件https://raw.githubusercontent... 到當(dāng)前目錄下
執(zhí)行腳本
./bootstrap.sh -s version_number
e.g.
./bootstrap.sh -s 1.2.0
然后你將得到一個 fabric-samples 文件夾
在fabric-samples/bin目錄下有如下平臺相關(guān)的二進(jìn)制文件
configtxgen
cryptogen
fabric-ca-client
idemixgen
peer
configtxlator
discover
orderer
并下載了一系列所需的image文件
手動搭建byfn網(wǎng)絡(luò)如無特別說明以下的操作都在fabric-samples/first-network目錄下
修改docker-compose-cli.yaml文件log級別為DEBUGcli: container_name: cli image: hyperledger/fabric-tools:$IMAGE_TAG tty: true stdin_open: true environment: - GOPATH=/opt/gopath - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_LOGGING_LEVEL=DEBUG #- CORE_LOGGING_LEVEL=INFO生成加密材料 (x509證書和簽名密鑰)
../bin/cryptogen generate --config=./crypto-config.yaml
命令執(zhí)行完成后會看到如下輸出
org1.example.com org2.example.com
并在first-network目錄下生成crypto-config文件夾,證書和密鑰都在此文件夾下
證書是身份的代表,當(dāng)我們的網(wǎng)絡(luò)實體交互和交易的時候,用來簽名和驗證權(quán)限
cryptogen 需要配置一個文件- crypto-config.yaml, 此文件包含了網(wǎng)絡(luò)的拓?fù)涠x,有三個成員,分別是一個Orderer Org和兩個Peer Orgs (Org1 & Org2), 每個Peer組織維護(hù)兩個peer結(jié)點為組織和其中的組件生成一系列的證書和密鑰。
export FABRIC_CFG_PATH=$PWD ../bin/configtxgen -profile TwoOrgsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block生成channel配置交易
export CHANNEL_NAME=mychannel ../bin/configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID $CHANNEL_NAME定義錨節(jié)點 為Org1定義錨節(jié)點
../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org1MSP為Org2定義錨節(jié)點
../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org2MSP啟動網(wǎng)絡(luò)
docker-compose -f docker-compose-cli.yaml up -d創(chuàng)建和加入channel
Docker exec -it cli bash
命令成功后bash顯示如下
root@e1fac8b5ec98:/opt/gopath/src/github.com/hyperledger/fabric/peer#創(chuàng)建channel
export CHANNEL_NAME=mychannel peer channel create -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem將peer0.org1.example.com加入創(chuàng)建的channel
peer channel join -b mychannel.block將peer0.org2.example.com加入創(chuàng)建的channel
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/[email protected]/msp CORE_PEER_ADDRESS=peer0.org2.example.com:7051 CORE_PEER_LOCALMSPID="Org2MSP" CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt peer channel join -b mychannel.block更新錨節(jié)點
peer channel update -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/Org1MSPanchors.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/[email protected]/msp CORE_PEER_ADDRESS=peer0.org2.example.com:7051 CORE_PEER_LOCALMSPID="Org2MSP" CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt peer channel update -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/Org2MSPanchors.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem安裝 & 實例化chaincode
peer chaincode install -n mycc -v 1.0 -p github.com/chaincode/chaincode_example02/go/ peer chaincode instantiate -o orderer.example.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C $CHANNEL_NAME -n mycc -v 1.0 -c "{"Args":["init","a", "100", "b","200"]}" -P "AND ("Org1MSP.peer","Org2MSP.peer")"查詢
peer chaincode query -C $CHANNEL_NAME -n mycc -c "{"Args":["query","a"]}"Invoke
peer chaincode invoke -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C $CHANNEL_NAME -n mycc --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses peer0.org2.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c "{"Args":["invoke","a","b","10"]}"
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/24367.html
摘要:腳本列出了在結(jié)束時安裝的映像。在不同的體系結(jié)構(gòu),將用標(biāo)識體系結(jié)構(gòu)的字符串替換。提供了許多來支持各種編程語言,官方發(fā)布了兩款針對和的和文檔。。 入門 在我們開始之前,如果你還沒有這樣做,你可能希望檢查是否已經(jīng)在開發(fā)區(qū)塊鏈應(yīng)用程序和/或運(yùn)行Hyperledger Fabric的平臺上安裝了所有前提條件。 一旦安裝了前提條件,就可以下載并安裝HyperLedger Fabric了,當(dāng)我們在F...
摘要:協(xié)議的細(xì)節(jié)由一個名為的處理。運(yùn)行下面的腳本來讓所有的事情都發(fā)生一兩分鐘后,命令提示符將返回運(yùn)行結(jié)果如下圖所示現(xiàn)在運(yùn)行該命令查看當(dāng)前正在運(yùn)行的容器。 showImg(https://segmentfault.com/img/bVbazHF?w=709&h=159); 前言 本教程基本上是對Marbles項目的翻譯過程. 如果英文比較好的話,建議根據(jù)官方操作說明,一步步進(jìn)行環(huán)境部署。當(dāng)然你...
摘要:新的模型要求只有足夠數(shù)量的組織批準(zhǔn)后才能允許升級鏈碼。的設(shè)計初衷是考慮到安全性,而的發(fā)行版的極簡主義特性大大降低了安全漏洞的風(fēng)險。 原文地址:https://www.xuanzhangjiong.to...作者:TopJohn Hyperledger Fabric 2.0 Alpha發(fā)布了! 隨著近期Fabric v1.4.1 LTS的發(fā)布,F(xiàn)abric項目目前工作的重點正在向1.4...
摘要:比特幣和以太幣屬于一類區(qū)塊鏈,我們將其歸類為公共無許可的區(qū)塊鏈技術(shù)。例如,在單個企業(yè)中部署時,或由受信任的權(quán)威機(jī)構(gòu)運(yùn)作,完全拜占庭容錯的共識可能被認(rèn)為是不必要的,并且對性能和吞吐量造成過度的拖累。 介紹 一般而言,區(qū)塊鏈?zhǔn)且粋€不可變的交易分類賬,維護(hù)在一個分布式對等節(jié)點網(wǎng)絡(luò)中。這些節(jié)點通過應(yīng)用已經(jīng)由共識協(xié)議驗證的交易來維護(hù)分類帳的副本,該交易被分組為包括將每個塊綁定到前一個塊的散列的塊...
摘要:阿里云容器服務(wù)區(qū)塊鏈解決方案第一時間同步升級,在新功能的基礎(chǔ)上,提供了彈性裸金屬服務(wù)器神龍內(nèi)置容器化集成阿里云日志服務(wù)等方面的增強(qiáng)。 摘要: 全球開源區(qū)塊鏈領(lǐng)域影響最為廣泛的Hyperledger Fabric日前宣布了1.1版本的正式發(fā)布,帶來了一系列豐富的新功能以及在安全性、性能與擴(kuò)展性等方面的顯著提升。阿里云容器服務(wù)區(qū)塊鏈解決方案第一時間同步升級,在v1.1新功能的基礎(chǔ)上,提供了...
閱讀 1414·2023-04-26 03:04
閱讀 2372·2019-08-30 15:44
閱讀 3740·2019-08-30 14:15
閱讀 3546·2019-08-27 10:56
閱讀 2766·2019-08-26 13:53
閱讀 2629·2019-08-26 13:26
閱讀 3091·2019-08-26 12:11
閱讀 3621·2019-08-23 18:21