我一直在开发Hyperledger Composer Chaincode。我需要开发的功能之一是启用多用户和作曲家休息服务器的身份验证。我创建了一个参与者通过命令行,与下面的示例代码相同:
composer identity issue --card admin@tutorial-network -f [email protected] -u usr001 -a "resource:org.acme.biznet.Trader#usr001" -x true
该行的输出是身份的.card文件。然后我通过调用api / wallet / import的POST请求成功导入钱包卡。但是,在对用户进行身份验证后,我创建了我得到的响应如下:
{"error":{"statusCode":500,"name":"Error","message":"A business network card has not been specified","stack":"Error: A business network card has not been specified\
我发现这个帖子来自堆栈溢出,它说它只发生在作曲家没有持久数据源时:Hyperledger Composer Error Identity has not been registered once issued
在我们的例子中,我们使用cloudant作为我们的数据库,所以我不知道我在做什么错误。下面是我对COMPOSER_DATASOURCES的配置:
COMPOSER_DATASOURCES='{
"db": {
"name": "db",
"connector": "cloudant",
"username": "myusername",
"password": "mypassword",
"host": "myhost",
"port": 443,
"url": "myurl",
"database": "composer-wallets"
}
}'
你把卡导入钱包了吗?
composer card import -f <The card file name>
查看详细信息https://hyperledger.github.io/composer/latest/managing/identity-issue
可能是你使用的是composer-rest-server的破解版本。我在20.2时遇到了同样的问题,当它升级到20.7时 - 按预期工作