我在 4 台基于 ubuntu 的流浪机器上设置了 4 个节点。我已经使用以下命令生成了这些节点所需的密钥:init_indy_node VAL1 0.0.0.0 9701 0.0.0.0 9702 111111111111111111111111111N1
.根据文档,有一个名为generate_indy_pool_transactions
的脚本,它生成具有预定义节点名称的密钥,即 Node1、Node2 并生成始终相同的密钥。
我想使用生成的密钥创建自定义网络。我找不到任何文档来生成创世交易文件。
有没有办法生成此文件以便我可以引导我的网络?
欢迎任何建议/意见。
Thewre 是欢迎您尝试genesis_from_files.py
脚本:https://github.com/sovrin-foundation/steward-tools/tree/master/create_genesis
如 start-nodes.md 所述,要设置池,需要执行以下操作:
- 在配置文件中设置网络名称
- 生成密钥(init_indy_node脚本可用于此目的(
- 提供创世交易文件,这些文件将成为初始池的基础
Indy 没有任何创世文件,因为这取决于基于 Indy 的网络(例如 Sovrin 创世纪(。
Indy 拥有的是一个generate_indy_pool_transactions
脚本,仅用于测试目的。它根据节点名称生成密钥(因此,如果将相同的节点名称传递到那里,则每次密钥都将相同(。
因此,有关如何在 Indy 中创建创世文件有以下选项:
- 手动创建它们。
- 为 Indy 创建用于生成的脚本做出贡献(我认为 generate_indy_pool_transactions 中的逻辑可用于此(。
- 运行 generate_indy_pool_transactions(这将生成密钥和创世文件(,然后正确重新初始化键并将创世文件从 generate_indy_pool_transactions 修改为指向正确的键。
- 使用其他帮助程序脚本,例如Sovrin Foundation的脚本:https://github.com/sovrin-foundation/steward-tools/tree/master/create_genesis(Sovrin现在是主要的Indy部署(。
要使用演员生成的密钥创建自定义网络并生成pool_transactions_genesis和domain_transactions_genesis文件,您必须使用 indy-plenum。
您可以在以下教程中找到详细信息:
https://taseen-junaid.medium.com/hyperledger-indy-custom-network-with-indy-node-plenum-protocol-ledger-85fd10eb5bf5
您可以在以下链接中找到该教程的代码库:
https://github.com/Ta-SeenJunaid/Hyperledger-Indy-Tutorial