0

我已经在 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
}

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

4

1 回答 1

0

我得到了同样的错误。以下是我所做的并返回了消息。请在随附的屏幕截图中找到 tcpdump 捕获的我的流量日志。看起来除了控制信号外没有任何实际传输在此处输入图像描述

  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 节点启动

  2. 我在第二个终端控制台中使用这些命令注册示例链代码

    cd $GOPATH/src/github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02

    去建造

    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 []从 shim 收到消息 REGISTER

    18:32:12.071 [chaincode] HandleMessage -> DEBU 063 [] 处理 ChaincodeMessage 类型:REGISTER 处于创建状态

    18:32:12.071 [chaincode] beforeRegisterEvent -> DEBU 064 Received REGISTER in state created

    18:32:12.071 [chaincode] registerHandler -> DEBU 065 为链码 mycc 注册的处理程序完成

    18:32:12.071 [chaincode] beforeRegisterEvent -> DEBU 066 获得了 chaincodeID = name:"mycc" 的 REGISTER,发回 REGISTERED

    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:注册..发送注册

    18:32:12.071 [shim] DEBU:[]收到来自 shim 的注册消息

    18:32:12.071 [垫片] DEBU:[]处理类型的链码消息:注册(状态:已创建)

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

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

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

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

于 2016-08-13T21:09:45.443 回答