超级账本Fabric将区块链数据库存储在哪里?

8

我在本地机器上安装了一个单节点的Hyperledger Fabric网络。现在,我正在开发链代码,并且想要清除我的区块链。我已经阅读过Hyperledger Fabric将数据库存储在/var/hyperledger下。然而,我在/var目录下没有看到这个hyperledger目录。是否有其他位置存储这个目录?我的开发平台是MAC,我使用docker-compose启动我的Hyperledger Fabric网络。

2个回答

4
Hyperledger Fabric将数据库存储在验证节点文件系统中的/var/hyperledger/production/db中。您可以使用类似于docker exec -it substitute_container_name bash的命令导航到验证节点文件系统。我不知道数据库的其他位置。如果遵循https://hub.docker.com/r/ibmblockchain/fabric-peer/上使用Hyperledger Docker镜像的说明,则数据库位置应为/var/hyperledger/production/db。

Andrew,非常感谢您的帮助性回答。我已经成功进入了验证节点上的/var/hyperledger/production/db目录。我尝试删除db目录,但似乎并没有清除我的区块链。然后我删除了/var/hyperledger/production目录。现在导致fabric peer节点无法启动。memberservices进程已经启动,但当它尝试启动fabric-peer时,我收到以下错误: - shaggy
vp0_1 | 02:40:56.262 [crypto] Errorf -> ERRO 02d [validator.my_vp0] 调用CreateCertficatePair失败[rpc错误:code = 2 desc = Identity lookup error: sql: no rows in result set]。 vp0_1 | 02:40:56.263 [crypto] Errorf -> ERRO 02e [validator.my_vp0] 获取注册证书失败[id=my_vp0]: [rpc错误:code = 2 desc = Identity lookup error: sql: no rows in result set]。 vp0_1 | 02:40:56.263 [crypto] Errorf -> ERRO 02f [validator.my_vp0] 检索注册数据失败[rpc错误:code = 2 desc = Identity lookup error: sql: no rows in result set]。 - shaggy
@shaggy,你解决了这个问题吗?我遇到了同样的问题,尝试修改数据库但是没有任何改变...... :( - Yvonne

1
为了清除区块链,最简单的方法是停止并重新运行Docker容器,只要您只有1个验证节点,您就不必担心数据一致性。另外,请尝试使用最新版本的Fabric发布版,因为它们在解决这些问题方面有很大的改进。关于问题,“no rows in result set”,请确保在针对CA请求用户验证时指定了正确的组织名称和部门。您发送的参数必须存在于CA数据库中,否则,将收到该错误信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接