hyperledger fabric 2.X 官方文件演示
阿新 • • 發佈:2020-12-20
技術標籤:區塊鏈 - hyperledger fabric區塊鏈fabrichyperledger
還沒搭建的mac使用者請參考我的上一篇文章搭建:
https://blog.csdn.net/smallone233/article/details/111356040
接下來開始跟著官網文件走
一、使用fabric test network
1.啟動
首先進入對應目錄:cd fabric-samples/test-network
然後啟動: ./network.sh up
出現這個代表成功
接著可以看看docker容器 docker ps -a
應該有剛剛啟動出來的order 和peer
2.建立通道
建立通道:./network.sh createChannel 預設名mychannel
也可以自定義名字建立: ./network.sh createChannel -c channel2 自定義名字channel2
3.測試
首先執行:./network.sh deployCC
這條命令安裝asset-transfer (basic)chaincode 到我們之前啟動的節點上去,這個目錄在我們的fabric-samples 目錄下
接著要進行互動了
首先要匯入一些環境變數,執行下下面的語句
export PATH=${PWD}/../bin:$PATH
export FABRIC_CFG_PATH=$PWD/../config/
export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org1MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/ [email protected]/msp
export CORE_PEER_ADDRESS=localhost:7051
然後初始化下我們的賬本:
peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n basic --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":"InitLedger","Args":[]}'
成功的話會有以下一句話
-> INFO 001 Chaincode invoke successful. result: status:200
然後查詢下我們的資產
peer chaincode query -C mychannel -n basic -c '{"Args":["GetAllAssets"]}'
會得到這些值
接著呼叫鏈上程式碼
peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n basic --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":"TransferAsset","Args":["asset6","Christopher"]}'
會得到
2019-12-04 17:38:21.048 EST [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 001 Chaincode invoke successful. result: status:200
之後我們可以對Org2進行同樣操作
export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org2MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org2.example.com/users/[email protected]/msp
export CORE_PEER_ADDRESS=localhost:9051
peer chaincode query -C mychannel -n basic -c '{"Args":["ReadAsset","asset6"]}'
最後關閉網路
./network.sh down