Ibm cloud 使用API将链码(智能合约)发布到hyperledger结构的问题
我已经在Bluemix上部署了hyperledger fabric服务,并从那里获得了凭据,其中一行如下所示:Ibm cloud 使用API将链码(智能合约)发布到hyperledger结构的问题,ibm-cloud,hyperledger,hyperledger-fabric,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”:“用户类型1\u 0”,“enrollSe
{"enrollId":"user_type1_0","enrollSecret":"XXXXX","group":"group1","affiliation":"0001","username":"user_type1_0","secret":"XXXXX"}
我将以下内容发布到“注册器”REST端点:
机密:{“enrollId”:“用户类型1\u 0”,“enrollSecret”:“xxxxx”}
我得到的答复是:
{“确定”:“用户'user_type1_0'登录成功”。}
然后,我尝试通过将以下内容发布到chaincode REST端点来注册一些chaincode:
QuerySpec{
“jsonrpc”:“2.0”,
“方法”:“部署”,
“参数”:{
“类型”:1,
“链码ID”:{
“路径”:”
},
“msg”:{
“函数”:“初始化”,
“args”:[
“你好”
]
},
“secureContext”:“用户类型1\u 0\uxxxxx”
},
“id”:1}
我得到的答复是:
{“jsonrpc”:“2.0”,“错误”:{
“代码”:-32000,
“消息”:“注册丢失”,
“数据”:“用户未登录。请使用“/register”端点获取安全令牌。”},“id”:1}
有什么想法吗?Fabric希望您提供EnrolmentID作为安全上下文,但您正在尝试使用“ID+Pass” 是否可以尝试使用另一个SecurityContext值运行部署命令
QuerySpec{“jsonrpc”:“2.0”,“方法”:“部署”,“参数”:{“类型”:1,“链码ID”:{“路径”:”https://github.com/ibm-blockchain/learn-chaincode/finished},“ctorMsg”:{“函数”:“init”,“args”:[“hi there”]},“secureContext”:“user_type1_0”},“id”:1}
您好,它可以工作-但我不明白-我不再提供任何机密,那么这个REST调用如何安全?机密仅用于“注册器”操作一次,以便生成ECert。然后,此证书将用于将所有交易签名到网络。SecurityContext是区分不同用户和选择适当证书所必需的。这种方法简化了Fabric的第一步,您可以使用NodeJSDK完全控制ECert。