我已经使用开发人员环境教程中提供的 Fabric 部署了自定义 .bna。然后,我启动了composer-rest-server,如下所示:
composer-rest-server -p hlfv1 -n app -i admin -s adminpw -N never
然后,我创建了一些参与者,并尝试在 RestAPI Loopback(位于 3000/explorer)中发出身份,并在其中发送一个
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \
"participant": "", \
"userID": "" \
}' 'http://localhost:3000/api/system/issueIdentity'
但我收到以下错误:
{
"error": {
"statusCode": 500,
"name": "Error",
"message": "error trying invoke chaincode. Error: chaincode error (status: 500, message: Error: Invalid fully qualified participant identifier)",
"stack": "Error: error trying invoke chaincode. Error: chaincode error (status: 500, message: Error: Invalid fully qualified participant identifier)\n at _initializeChannel.then.then.then.then.catch (/usr/lib/node_modules/composer-rest-server/node_modules/composer-connector-hlfv1/lib/hlfconnection.js:839:34)"
}
}
但是当我使用命令行尝试相同的操作时,如下:
composer identity issue -n 'app' -i admin -s adminpw -u username -a "org.company.app.user#bob" -p hlfv1
命令成功并且身份已创建。我曾与不同的参与者尝试过,但结果相同。另外,尽管出现错误,如果我尝试使用相同的 userID 发出新身份,则会收到错误,然后它会说该身份已注册。
版本均为最新的composer(0.9.1)和Fabric(RC1)。
路易斯
我认为问题是您的“curl”命令中需要“完全限定”的参与者名称。
所以:
curl -X POST --header '内容类型:application/json' --header '接受:application/json' -d '{ \ "参与者": "org.acme.acmeis.user#orgadmin1", \ “用户ID”:“戴夫”\ }' 'http://localhost:3000/api/system/issueIdentity'
其中 orgadmin1 是您已添加的参与者,“dave”是您的身份。