2016-08-20 3 views
0

ブロックチェインガイド()に従うだけで、ドッカー内のハイパージーガープロジェクトexample02をテストできます。テスト時のエラーchaincode_example02.goドッカーで

しかし、peer chaincode deploy -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Function":"init", "Args": ["a","100", "b", "200"]}'と入力すると、次のエラーが発生します。

Error: Non-empty JSON chaincode parameters must contain exactly 1 key: 'Args'

これは変です。私はそれを見つけたが、答えは見つからなかった。誰でも私を助けることができますか?ありがとうございました。

実際には、pbftモードを使用してdocker-compose upと入力してください。私は次のエラーを取得しますが、私はそれを無視しました。それは理由ですか?

vp2_1 | 04:27:04.945 [peer] handleChat -> ERRO 88e Error handling message: Peer FSM cannot handle message (DISC_GET_PEERS) with payload size (0) while in state: created

vp2_1 | 04:27:04.953 [peer] handleChat -> ERRO 88f Error handling message: Peer FSM cannot handle message (DISC_GET_PEERS) with payload size (0) while in state: created

vp2_1 | 04:27:06.845 [peer] ensureConnected -> WARN 890 Touch service indicates dropped connections, attempting to reconnect...

vp2_1 | 04:27:09.945 [peer] handleChat -> ERRO 891 Error handling message: Peer FSM cannot handle message (DISC_GET_PEERS) with payload size (0) while in state: created

vp2_1 | 04:27:09.952 [peer] handleChat -> ERRO 892 Error handling message: Peer FSM cannot handle message (DISC_GET_PEERS) with payload size (0) while in state: created

vp2_1 | 04:27:12.845 [peer] ensureConnected -> WARN 893 Touch service indicates dropped connections, attempting to reconnect...

vp2_1 | 04:27:14.946 [peer] handleChat -> ERRO 894 Error handling message: Peer FSM cannot handle message (DISC_GET_PEERS) with payload size (0) while in state: created

+0

今、私はちょうど上部の黄色のブロックエラーを取得し、それは 'エラーです:非空のJSON chaincodeパラメータが正確に1キーを含まなければなりません。 ' Args''。私は新しいドッカーを開くことで 'Peer FSM'エラーを解決しました。誰でも私を助けることができますか?最近、私は夢中になった。 –

答えて

2

フォーマットが変更されました。パラメータ "Function"を "Args"配列に移動しました。すべてのパラメータはbase64でエンコードする必要があります。
旧形式:

{"function":"init","args":["a", "1000", "b", "2000"]}}

新フォーマットは:

{"args":['aW5pdA==', 'YQ==', 'MTAwMA==', 'Yg==', 'MjAwMA==']}

を更新:フォーマットを再度変更しました。 Base64エンコーディングはもはや必要ありません。最新の(テストした2016年8月31日)ファブリックのバージョンで正しいペイロードは次のとおりです。

{“args”:['init', 'a', '100', 'b', '100']}

+0

これは本当に役立ちます。ありがとうございました! –

関連する問題