0

我只是按照区块链指南( https://github.com/yeasy/blockchain_guide ) 在 docker 中测试超级账本项目 example02。

但是当我输入时peer chaincode deploy -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Function":"init", "Args": ["a","100", "b", "200"]}',我收到以下错误。

错误:非空 JSON 链码参数必须恰好包含 1 个键:'Args'

真奇怪。我用谷歌搜索但没有找到答案。任何人都可以帮助我吗?谢谢你。

实际上,当我使用 pbft 模式并输入docker-compose up. 我收到以下错误,但我忽略了它。是这个原因吗?

vp2_1 | 04:27:04.945 [peer] handleChat -> ERRO 88e 错误处理消息:Peer FSM 在状态下无法处理有效负载大小 (0) 的消息 (DISC_GET_PEERS):已创建

vp2_1 | 04:27:04.953 [peer] handleChat -> ERRO 88f 错误处理消息:Peer FSM 在状态下无法处理有效负载大小 (0) 的消息 (DISC_GET_PEERS):已创建

vp2_1 | 04:27:06.845 [peer] ensureConnected -> WARN 890 Touch 服务指示连接断开,正在尝试重新连接...

vp2_1 | 04:27:09.945 [peer] handleChat -> ERRO 891 错误处理消息:Peer FSM 在状态下无法处理有效负载大小 (0) 的消息 (DISC_GET_PEERS):已创建

vp2_1 | 04:27:09.952 [peer] handleChat -> ERRO 892 错误处理消息:Peer FSM 在状态下无法处理有效负载大小 (0) 的消息 (DISC_GET_PEERS):已创建

vp2_1 | 04:27:12.845 [peer] ensureConnected -> WARN 893 Touch 服务指示连接断开,正在尝试重新连接...

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

4

1 回答 1

2

Format was changed. Parameter "Function" was moved to "Args" array. All parameters should be base64 encoded.
Old format:

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

New format:

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

Updated: Format was changed again. Base64 encoding is not necessary any longer. correct payload in latest (tested 08.31.2016) Fabric's version is:

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

于 2016-08-20T08:20:41.303 回答