0

我已經在vm中建立了一個對等體,它的運行正常。我也有註冊與對等chaincode通過這個HyperLedger-Fabric ChainCode部署給解析錯誤

CORE_CHAINCODE_ID_NAME=chaincode_example02 CORE_PEER_ADDRESS=localhost:51011 ./chaincode_example02

,並在此之後沒有顯示錯誤

現在,當我嘗試使用此JSON

{ 
    "jsonrpc": "2.0", 
    "method": "deploy", 
    "params": { 
    "type": 1, 
    "chaincodeID":{ 
     "name": "chaincode_example02", 
     "path": "github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02" 
    }, 
    "ctorMsg": { 
     "function":"init", 
     "args": ["a","100","b","200"] 
    } 
    }, 
    "id": 10 
} 

打從靜止init方法我得到這個錯誤

{ 
    "jsonrpc": "2.0" 
    "error": { 
    "code": -32700 
    "message": "Parse error" 
    "data": "Error unmarshalling chaincode request payload: illegal base64 data at input byte 0" 
    }- 
    "id": null 
} 

有人可以告訴我我做錯了什麼?

+0

當我運行這段代碼,同行日誌說'無法初始化chaincode(未找到chaincode chaincode_example02處理)',所以顯然在init是無論出於何種原因失敗。當您嘗試部署鏈碼時,是否會在您的對等體上彈出相同的錯誤消息?您能否提供處理此部署的對等日誌部分? –

+0

不,我沒有得到這個錯誤,但對我來說init沒有與上述給定的錯誤工作,並且我已經註冊後,我沒有得到任何更新init,調用或任何東西。還有一件事是當peer運行時,在某些內部特定的內容「grpc:ClientConn.resetTransport無法創建客戶端傳輸:連接錯誤:desc =」傳輸:撥號tcp ipaddr:端口號:getsockopt:no後,它不斷給我發送消息路由到主機「;重新連接到」:ipaddr:port no「」 –

回答

0

我得到了同樣的錯誤。以下是我所做的並返回了消息。請在附件截圖中查找tcpdump捕獲的流量日誌。貌似什麼都沒有,除了控制信號enter image description here

  1. 已實際轉移我開始跑步noops在第一個終端控制檯使用此命令共識驗證等

    搬運工運行--name VP0 --rm -IT - e CORE_VM_ENDPOINT = unix:///var/run/docker.sock -p 7050:7050 -p 7051:7051 -p 7054:7054 -p 7053:7053 -e CORE_LOGGING_LEVEL = DEBUG -e CORE_PEER_ID = vp0 -e CORE_PEER_ADDRESSAUTODETECT = true hyperledger/fabric-peer peer node start

  2. 我在第二學期註冊了這些命令的示例鏈碼伊納勒控制檯

    CD $ GOPATH/src目錄/ github.com/hyperledger /面料/例子/ chaincode /去/ chaincode_example02

    去建立

    CORE_CHAINCODE_ID_NAME = mycc CORE_PEER_ADDRESS = 0.0.0.0:7051 ./chaincode_example02

  3. ,我的示例chaincode得到登記的第一終端控制檯顯示

    18:32:12.070 [chaincode] HandleChaincodeStream - >得不061當前上下文期限= 0001-01-01 00:00:00 00 00 UTC,OK =假

    18:32:12.071 [chaincode] processStream - >得不062 []從墊片

    收到的報文REGISTER

    18:32:12.071 [chaincode]的handleMessage - >得不063 []處理類型的ChaincodeMessage:REGISTER在狀態創建

    18:32:12.071 [chaincode] beforeRegisterEvent - >得不064在狀態接收到的註冊創建

    18:32:12.071 [chaincode] registerHandler - >得不065註冊的處理程序完成for chaincode mycc

    18:32:12.071 [chaincode] beforeRegisterEvent - > DEBU 066註冊了chaincodeID = name:「mycc」,發回註冊

    18:32:12.071 [chaincode] notifyDuringStartup - > DEBU 067沒有任何通知模式?)

  4. 所述第二終端控制檯說一切似乎是細

    18:32:12.069 [墊片]得不:對等體地址:0.0.0.0:7051

    18:32:12.070 [墊片]得不:os.Args回報:[./chaincode_example02]

    18:32:12.070 [墊片]得不:註冊..發送REGISTER

    18:32:12.071 [墊片]得不:[]收到的報文REGISTERED來自墊片

    18:32:12.071 [墊片]得不:[]處理類型的ChaincodeMessage:註冊(狀態:創建)

    18:32:12.071 [墊片]得不:收到的REGISTERED,準備用於調用

  5. 當我將示例鏈代碼部署到對等端時,我收到了錯誤消息

    peer chaincode deploy -n mycc -c'{「Function」:「init」,「Args」:[「a」,「100」, 「b」,「200」]}'

    19:03:33.715 [日誌記錄] LoggingInit - > DEBU 001將默認日誌級別設置爲DEBUG以查找命令'chaincode' 錯誤:Chaincode參數錯誤:在輸入字節非法的base64數據0

+0

當你調用init或invoke時,是否在終端上有任何更新? –

+0

並且當你的對等體像這樣運行時,你是否在日誌中獲得任何類型的消息? 「grpc:ClientConn.resetTransport無法創建客戶端傳輸:連接錯誤:desc =」transport:dial tcp ipAddr:portNo:getsockopt:no host to host「;重新連接到」ippadrr:portNo「 –

+0

我沒有運行」init 「或」調用「,因爲它無法在第一時間部署。 我最終從github克隆的最新源代碼構建,並在開發模式下運行單個對等。 –