Hyperledger架构:从网络中删除测试数据

问题描述 投票:0回答:2

我们通常如何从Hyperledger Fabric网络中删除/清除所有测试数据?我们执行以下方法来运行测试(假设HLF网络已启动并正在运行)

  1. 对网络进行端到端测试
  2. 如果测试通过所有规则,则进入下一个阶段

一旦运行测试,世界各国和区块链中就会有一些数据,因此我们如何在不重建网络的情况下删除数据

选项

  1. var/hyperledger/production文件夹中删除与数据库相关的文件,但是我不确定这是正确的方法。
hyperledger-fabric hyperledger
2个回答
0
投票

假设您正在谈论示例网络中的初始化数据,则测试数据已经是分类帐的一部分,因此无法将其删除。但是,可以通过更新链码并添加删除功能将数据从当前状态中删除。在将新的链码成功更新到分类账之后,您应该能够从创建的功能中删除测试数据。您可以稍后通过再次更新链码来删除该功能

供参考,可以通过DelState()进行删除。您可以从marbles_chaincode.go中引用它


0
投票

事实是,删除数据库并重新启动对等方可能是重新开始的最快方法。

但是,官方支持的方法是使用分类帐重置功能,该功能使您可以将分类帐返回到创世块。您可以通过命令peer node reset重置分类帐。

您还可以使用peer node rollback -c <channel> -b <block_number_to_roll_back_to>将分类帐回滚到先前的提交,>

尽管我建议您查看每个命令并将其速度与仅删除数据库并比较最能容忍您的速度进行比较。

您可以在这里找到官方文档:https://hyperledger-fabric.readthedocs.io/en/release-2.0/commands/peernode.html#peer-node-reset-example

© www.soinside.com 2019 - 2024. All rights reserved.