使用API​​将链码(智能合约)POST到hyperledger-fabric的问题

时间:2016-10-21 06:29:16

标签: ibm-cloud hyperledger hyperledger-fabric

我已经在Bluemix上部署了hyperledger-fabric服务并从那里获得了凭据,其中一行如下:

   {"enrollId":"user_type1_0","enrollSecret":"XXXXX","group":"group1","affiliation":"0001","username":"user_type1_0","secret":"XXXXX"}

我将以下内容发布到"注册商" REST端点:

  

秘密:{" enrollId":" user_type1_0"," enrollSecret":" xxxxx" }

我收到了这个回复:

  

{"好的":"用户登录成功' user_type1_0'。" }

然后我尝试使用POST将以下内容注册到链码REST端点:

  

QuerySpec {        " jsonrpc":" 2.0",        "方法":"部署",        " params":{            "输入":1,            " chaincodeID":{                "路径":" https://github.com/ibm-blockchain/learn-chaincode/finished"            },            " ctorMsg":{                "功能":" init",                " args":[                    "你好"                ]            },            " secureContext":" user_type1_0_xxxxx"        },        " id":1}

我得到了这个回应:

  

{" jsonrpc":" 2.0","错误":{       "代码":-32000,       "消息":"注册丢失",       "数据":"用户未登录。使用' / registrar'端点获取安全令牌。" }," id":1}

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

Fabric期望您将EnrolmentID作为安全上下文提供,但您尝试使用“ID + Pass”。

您是否可以尝试使用其他SecurityContext值运行deploy命令?

QuerySpec { "jsonrpc": "2.0", "method": "deploy", "params": { "type": 1, "chaincodeID": { "path": "https://github.com/ibm-blockchain/learn-chaincode/finished" }, "ctorMsg": { "function": "init", "args": [ "hi there" ] }, "secureContext": "user_type1_0" }, "id": 1 }