我正在使用Hyperledger Fabric Node SDK制作一个区块链应用程序,在其中我必须实现删除用户账户的功能。下面是我的代码:
// Revoke the user, then delete the user from wallet.
await ca.revoke({ enrollmentID: email }, adminUser);
const identityService = ca.newIdentityService();
identityService.delete(email, adminUser, true).then( async function(response) {
await wallet.remove(email);
logger.debug("Successfully removed user from wallet!");
}).catch((error) => {
logger.error(`Getting error: ${error}`);
return error.message;
});
我试着调试并分别运行代码中的每一行,我知道整个代码都能工作,但只有identityService.delete
函数不能工作。该函数给出错误Identity removal is disabled。进一步研究这个问题,我知道我必须添加:
cfg:
identities:
passwordattempts: 10
allowremove: true
在标准配置文件中。
这是Fabric CA Server's Configuration File。在这个文件中,cfg位于操作部分的最后。因为我的项目中有多个配置文件,我查看了它们,在一个文件中找到了相同的操作部分。我在它上面添加了cfg行。但是,同样的Identity removal is disabled错误显示。
我想知道的是,在将这些行添加到配置文件后,为什么仍然显示错误。添加这些行后,我再次创建了通道。我如何知道我的区块链网络正在使用更新后的配置文件?或者有没有方法更新配置文件,但我没有正确更新。
下面是我得到的错误的截图:
2条答案
按热度按时间6tr1vspr1#
This已经解决了这个问题。我不得不添加**--cfg.identities.allowremove和--cfg.affiliations.allowremove**这两个标志,然后重新启动Docker,它就工作了。
h5qlskok2#
我认为在
Fabric CA Server's Configuration File
中缺少了一些东西,所以你可以尝试下面的文件,它对我来说运行良好。你可以检查我是否添加了fabric-ca-server.yaml