我在遵循教程时遇到错误。
https://hyperledger.github.io/composer/unstable/managing/current-participant.html
我创建了一个参与者并向其发放了身份。但是在我的事务处理器函数中,当我通过rest apis使用getCurrentParticipant函数验证当前参与者的参与者ID时,我得到以下错误。
{ "错误":{ " statusCode":500, " name":"错误", " message":"尝试调用链码时出错。错误:链码错误(状态:500,消息:TypeError:无法读取属性' getFullyQualifiedIdentifier'为null)", " stack":"错误:尝试调用链码时出错。错误:链码错误(状态:500,消息:类型错误:无法读取属性' getFullyQualifiedIdentifier'为null)\ _在_initializeChannel.then.then.then.then.catch(/home/praval/.nvm/版本/节点/ v6.11.1 / LIB / node_modules /作曲家静止服务器/ node_modules /作曲家连接器-hlfv1 / LIB / hlfconnection.js:847:34)" } }
有人可以解释原因吗?
答案 0 :(得分:0)
看起来从证书到参与者的映射不到位。最简单的测试方法是使用composer identity issue
命令,然后使用composer network ping
- 这将返回当前参与者。一旦有效,那么getCurrentParticipant()
应该有效。
https://hyperledger.github.io/composer/managing/identity-issue.html
当您composer network ping
时,您的参与者将尝试访问网络元数据。下面的ACL规则将允许此访问。请确保您使用的是包含此规则的最新版本的basic-sample-network。
rule SystemACL {
description: "System ACL to permit all access"
participant: "org.hyperledger.composer.system.Participant"
operation: ALL
resource: "org.hyperledger.composer.system.**"
action: ALLOW
}