为不参与RestAPI的参与者发布身份,但在命令行中执行

时间:2017-07-07 14:52:44

标签: hyperledger-fabric hyperledger-composer

我使用开发人员环境教程中提供的Fabric部署了自定义.bna。然后,我按如下方式启动了composer-rest-server:

composer-rest-server -p hlfv1 -n bonusetis -i admin -s adminpw -N never

然后,我创建了一些参与者,并试图在RestAPI Loopback(在3000 / explorer)中发出一个身份,在那里发送一个

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \ 
   "participant": "gemma", \ 
   "userID": "gemmatarres" \ 
 }' '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 'bonusetis' -i admin -s adminpw -u danigranados -a "org.basetis.bonusetis.user#dani" -p hlfv1

命令成功并创建了标识。我尝试过与不同参与者相同的结果。此外,尽管有错误,如果我尝试使用相同的userID发出新标识,我收到了错误,那么它表示该标识已经注册。

版本都是最新作曲家(0.9.1)和Fabric(RC1)。

1 个答案:

答案 0 :(得分:2)

圣路易斯

我认为问题是你需要'curl'命令中的'完全合格'参与者名称。

所以:

curl -X POST --header'Content-Type:application / json'--header'Accept:application / json'-d'{\    “参与者”:“org.acme.acmeis.user#orgadmin1”,    “userID”:“戴夫”  }''http://localhost:3000/api/system/issueIdentity'

其中orgadmin1是您的参与者已添加,'dave'是您的身份。