HyperLedger-Fabric ChainCode部署给出解析错误

时间:2016-08-12 13:05:10

标签: unmarshalling blockchain hyperledger peer hyperledger-fabric

我已经在vm中设置了一个对等体并且运行正常。此外,我已通过此

向同行注册了链码
  

CORE_CHAINCODE_ID_NAME = chaincode_example02 CORE_PEER_ADDRESS = localhost:51011 ./chaincode_example02

并且没有显示错误

此后,当我尝试使用此json

从休息中点击init方法时
{
  "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
}

我收到此错误

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

有谁能告诉我我做错了什么?

1 个答案:

答案 0 :(得分:0)

我得到了同样的错误。以下是我所做的并返回的信息。请在附带的屏幕截图中找到tcpdump捕获的流量日志。看起来除了控制信号enter image description here

之外没有实际传输任何内容
  1. 我在第一个终端控制台

    中启动了一个验证对等体,在此命令中运行noops共识

    docker run --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 / fabric / examples / chaincode / go / chaincode_example02

    go build

    CORE_CHAINCODE_ID_NAME = mycc CORE_PEER_ADDRESS = 0.0.0.0:7051 ./chaincode_example02

  3. 第一个终端控制台显示我的示例链代码已注册

    18:32:12.070 [chaincode] HandleChaincodeStream - > DEBU 061当前上下文截止时间= 0001-01-01 00:00:00 +0000 UTC,ok = false

    18:32:12.071 [chaincode] processStream - > DEBU 062 []从垫片收到消息REGISTER

    18:32:12.071 [chaincode] HandleMessage - > DEBU 063 []处理ChaincodeMessage类型:在创建状态下注册

    18:32:12.071 [chaincode] beforeRegisterEvent - > DEBU 064在创建的状态下收到REGISTER

    18:32:12.071 [chaincode] registerHandler - > DEBU 065注册处理程序完成链代码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 [shim] DEBU:同行地址:0.0.0.0:7051

    18:32:12.070 [shim] DEBU:os.Args返回:[。/ chaincode_example02]

    18:32:12.070 [shim] DEBU:注册..发送REGISTER

    18:32:12.071 [shim] DEBU:[]收到来自垫片的留言

    18:32:12.071 [shim] DEBU:[]处理ChaincodeMessage类型:REGISTERED(state:created)

    18:32:12.071 [shim] DEBU:已收到注册,已准备好进行调用

  5. 当我将示例链代码部署到对等方时,我收到了错误消息

    peer chaincode deploy -n mycc -c' {" Function":" init"," Args":[" a&# 34;," 100"," b"," 200"]}'

    19:03:33.715 [logging] LoggingInit - > DEBU 001将命令的默认日志记录级别设置为DEBUG' chaincode' 错误:Chaincode参数错误:输入字节0处的非法base64数据