摘要:生成創世區塊生成配置交易定義錨節點為定義錨節點為定義錨節點啟動網絡創建和加入命令成功后顯示如下創建將加入創建的將加入創建的更新錨節點安裝實例化查詢
環境準備 docker安裝
Docker最低版本要求是version 17.06.2-ce
推薦在Docker官網下載Mac版本
Go最低版本要求是 1.10.x
可在使用brew或者Go官網下載Mac版本
在home目錄新創建一個目錄,比如
makedir ~/fabric_learning cd ~/fabric_learning
下載腳本文件https://raw.githubusercontent... 到當前目錄下
執行腳本
./bootstrap.sh -s version_number
e.g.
./bootstrap.sh -s 1.2.0
然后你將得到一個 fabric-samples 文件夾
在fabric-samples/bin目錄下有如下平臺相關的二進制文件
configtxgen
cryptogen
fabric-ca-client
idemixgen
peer
configtxlator
discover
orderer
并下載了一系列所需的image文件
手動搭建byfn網絡如無特別說明以下的操作都在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
命令執行完成后會看到如下輸出
org1.example.com org2.example.com
并在first-network目錄下生成crypto-config文件夾,證書和密鑰都在此文件夾下
證書是身份的代表,當我們的網絡實體交互和交易的時候,用來簽名和驗證權限
cryptogen 需要配置一個文件- crypto-config.yaml, 此文件包含了網絡的拓撲定義,有三個成員,分別是一個Orderer Org和兩個Peer Orgs (Org1 & Org2), 每個Peer組織維護兩個peer結點為組織和其中的組件生成一系列的證書和密鑰。
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定義錨節點 為Org1定義錨節點
../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org1MSP為Org2定義錨節點
../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org2MSP啟動網絡
docker-compose -f docker-compose-cli.yaml up -d創建和加入channel
Docker exec -it cli bash
命令成功后bash顯示如下
root@e1fac8b5ec98:/opt/gopath/src/github.com/hyperledger/fabric/peer#創建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加入創建的channel
peer channel join -b mychannel.block將peer0.org2.example.com加入創建的channel
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/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更新錨節點
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/Admin@org2.example.com/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"]}"
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24367.html
摘要:腳本列出了在結束時安裝的映像。在不同的體系結構,將用標識體系結構的字符串替換。提供了許多來支持各種編程語言,官方發布了兩款針對和的和文檔。。 入門 在我們開始之前,如果你還沒有這樣做,你可能希望檢查是否已經在開發區塊鏈應用程序和/或運行Hyperledger Fabric的平臺上安裝了所有前提條件。 一旦安裝了前提條件,就可以下載并安裝HyperLedger Fabric了,當我們在F...
摘要:協議的細節由一個名為的處理。運行下面的腳本來讓所有的事情都發生一兩分鐘后,命令提示符將返回運行結果如下圖所示現在運行該命令查看當前正在運行的容器。 showImg(https://segmentfault.com/img/bVbazHF?w=709&h=159); 前言 本教程基本上是對Marbles項目的翻譯過程. 如果英文比較好的話,建議根據官方操作說明,一步步進行環境部署。當然你...
摘要:新的模型要求只有足夠數量的組織批準后才能允許升級鏈碼。的設計初衷是考慮到安全性,而的發行版的極簡主義特性大大降低了安全漏洞的風險。 原文地址:https://www.xuanzhangjiong.to...作者:TopJohn Hyperledger Fabric 2.0 Alpha發布了! 隨著近期Fabric v1.4.1 LTS的發布,Fabric項目目前工作的重點正在向1.4...
摘要:比特幣和以太幣屬于一類區塊鏈,我們將其歸類為公共無許可的區塊鏈技術。例如,在單個企業中部署時,或由受信任的權威機構運作,完全拜占庭容錯的共識可能被認為是不必要的,并且對性能和吞吐量造成過度的拖累。 介紹 一般而言,區塊鏈是一個不可變的交易分類賬,維護在一個分布式對等節點網絡中。這些節點通過應用已經由共識協議驗證的交易來維護分類帳的副本,該交易被分組為包括將每個塊綁定到前一個塊的散列的塊...
摘要:阿里云容器服務區塊鏈解決方案第一時間同步升級,在新功能的基礎上,提供了彈性裸金屬服務器神龍內置容器化集成阿里云日志服務等方面的增強。 摘要: 全球開源區塊鏈領域影響最為廣泛的Hyperledger Fabric日前宣布了1.1版本的正式發布,帶來了一系列豐富的新功能以及在安全性、性能與擴展性等方面的顯著提升。阿里云容器服務區塊鏈解決方案第一時間同步升級,在v1.1新功能的基礎上,提供了...
閱讀 1405·2023-04-26 03:04
閱讀 2349·2019-08-30 15:44
閱讀 3731·2019-08-30 14:15
閱讀 3528·2019-08-27 10:56
閱讀 2737·2019-08-26 13:53
閱讀 2619·2019-08-26 13:26
閱讀 3081·2019-08-26 12:11
閱讀 3613·2019-08-23 18:21