模拟具有 5000 个用户的 Hyperledger Fabric 网络

Simulate Hyperledger Fabric network with 5000 users

我是 Hyperledger Fabric 的新手。 我阅读了它的文档并遵循了他们在其网站上提供的 test network,因此测试网络提供了一堆终端命令来添加第三方组织及其对等体。我喜欢终端上的一切都已准备就绪 运行,但问题是高度抽象 很多细节。

目标: 我想模拟一个拥有 5000 个用户的许可区块链网络。每个用户应该能够每 15 秒向频道广播一次交易。排序者应该每 15 秒打包一次这些交易,并让连接的用户验证新块。

问题:

我找不到有关动态添加更多点的教程。 阅读文档,我认为我应该让每个用户都有自己的节点和应用程序来广播交易。但是,创建 5000 个对等点(一个接一个)将非常耗时。

我知道这些问题听起来可能很天真,考虑到我的其他选择,例如使用 socketio or grpc 创建我的区块链网络模拟,目前会不那么痛苦。我真的不想避免阅读 HLF 的文档,但是高级抽象和学习时间让我想知道,我应该更好地使用其他选项进行模拟。正如 Linus Torvalds 所说的那样:

Talk is cheap, show me the code!

在HLF案例中,我不需要已经提供的终端命令,我想真正了解和修改同行的源代码。

感谢您的任何建议或指导。

您需要 5000 个用户(在 CA 中注册),而不是 5000 个对等点。一个节点就足够了(尽管更多的节点可能有助于分发背书和提高性能)。

所以,你应该:

  • 在您的 Fabric-CA 中注册 5000 个用户
  • 从 Fabric-CA
  • 注册他们的密码 material
  • 运行 5000 个客户端(peer 命令,基于 Fabric SDK 的应用程序或其他)。

Fabric CA 相关内容:https://hyperledger-fabric-ca.readthedocs.io/en/latest/deployguide/use_CA.html

显然,您应该准备某种脚本来执行此操作。不要手动做。

如果您的目的只是测试,也许您可​​以使用 cryptogen 而不是 Fabric-CA。

您似乎在尝试执行某种性能测试。 Hyperledger Caliper 专为此类测试而设计。也许你可以配置 5000 个工人的 Caliper(虽然我不确定你是否可以配置小于 1 TPS 来模拟你每 15 秒的请求)。

关于orderers,你可以配置你的ordering service,batch time为15秒,但是考虑到你每15秒的5000笔交易可能会在此之前达到batch size,所以block是在之前生成的。