環境:Hyperledger V1.1
1.首先編譯了官方給出的chaincode
cd github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
go build
然后生成如下檔案:
chaincode_example02*
2.執行chaincode
CORE_PEER_ADDRESS=peer0.org1.qklszzn.com:7051 CORE_CHAINCODE_ID_NAME=r_test_cc6:1.0 ./chaincode_example02
失敗,找到原因把埠號7051改為7052,7051是V1.0時候用的,V1.1則應改成7052,修改后正常運行如下:
code_example02
2018-11-09 22:47:34.977 CST [shim] SetupChaincodeLogging -> INFO 001 Chaincode log level not provided; defaulting to: INFO
2018-11-09 22:47:34.977 CST [shim] SetupChaincodeLogging -> INFO 002 Chaincode (build level: ) starting up ...
3.在另外一個console中執行如下:
export set CORE_PEER_LOCALMSPID=Org1MSP
export set CORE_PEER_ADDRESS=peer0.org1.qklszzn.com:7051
export set CORE_PEER_MSPCONFIGPATH=/opt/hyperledger/fabricconfig/crypto-config/peerOrganizations/org1.qklszzn.com/users/[email protected]/msp
安裝chaincode:
peer chaincode install -n r_test_cc6 -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
報出如下錯誤:
2018-11-09 22:50:13.028 CST [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2018-11-09 22:50:13.029 CST [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
Error: Error endorsing chaincode: rpc error: code = Unknown desc = chaincode error (status: 500, message: EOF)
4.修改export set CORE_PEER_ADDRESS=peer0.org1.qklszzn.com:7052
然后再peer chaincode install -n r_test_cc6 -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
報出如下錯誤:
2018-11-09 22:51:41.370 CST [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2018-11-09 22:51:41.370 CST [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
Error: Error endorsing chaincode: rpc error: code = Unimplemented desc = unknown service protos.Endorser
最終:
不管怎么修改,安裝chaincode就是出錯,所以無法繼續下面的chaincode實體化等測驗作業,目前全網無解,希望Hyperledger Fabric內行人士出來幫助下。
uj5u.com熱心網友回復:
第一,要看你的orderer運行是否正常,配置是否正常第二,你開頭把埠號改成了7052,這一步就錯了,不應該修改他的埠號,7051是節點標識通訊埠,7052是智能合約的通信埠
uj5u.com熱心網友回復:
首先,peer和orderer節點運行都是正常的,否則不能正常創建channel。現在已經成功創建了channel,然后將peer節點成功join到channel中,并且成功更新了Anchor節點資訊。
使用peer channel list可以顯示出我創建的通道名稱。
現在的問題是不能成功安裝chaincode,使用peer chaincode install ...會失敗,報出的錯誤我在上面貼出來了。
也應該不是埠設定的問題,因為用環境變數export set CORE_PEER_ADDRESS=peer0.org1.qklszzn.com:7051,不管改成7051還是7052都是不能成功安裝chaincode。
uj5u.com熱心網友回復:
朋友你解決了嗎?我也遇到了一樣的問題,我看到一種解釋說是要用docker容器分別啟動這些peer和orderer才可以給peer添加智能合約uj5u.com熱心網友回復:
差不多的問題uj5u.com熱心網友回復:
我也遇到過同樣的問題,下面的辦法可以解決錯誤。cd $GOPATH/src
peer chaincode install -n r_test_cc6 -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
uj5u.com熱心網友回復:
你說的情況在我研究fabric v2.0的時候也遇到過, 給你幾個排查的方向1. 確定是否部署到了多臺機器上;
2. 如果是多臺機器,是需要構建docker網路的,用于 order peer chaincode之間通訊,我遇到的是因為沒有構建docker網路, 最后構建的docker swarm 網路;
3. 因為docker-compose中使用的都是內部域名peer0,peer1等,所以如果沒有構建網路,需要將networks 洗掉, 并指定peer0 為ip
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/19956.html
標籤:區塊鏈技術
