【问题标题】:Hyperledger Fabric - Core.yamlHyperledger Fabric - Core.yaml
【发布时间】:2023-03-12 02:45:01
【问题描述】:

我看到很多 Hyperledger Fabric 示例,但在所有示例中都没有找到 core.yaml 文件。我看到很多其他文件。而且在很多地方,都会提到 core.yaml。是否有其他文件与之对应? 从哪里选择 core.yaml 配置?我应该如何使用它?

【问题讨论】:

  • 我想我们需要更多的细节。首先,“我在所有示例中都找不到 core.yaml 文件”,“示例”是什么意思?你是说面料样品吗?如果没有,您在哪里可以找到这些示例?
  • @ajp 是的,我指的是织物样品。

标签: hyperledger-fabric hyperledger


【解决方案1】:

core.yaml 文件提供了各种对等模块的基本配置选项。例如它能够配置日志级别,例如:

###############################################################################
logging:

    cauthdsl:   warning
    gossip:     warning
    ledger:     info
    msp:        warning
    policies:   warning
    grpc:       error

现在,您在 fabric-sample 中看不到这个文件的原因是它已经被打包到对等 docker 容器中,因此只是其中的一部分。接下来,由于 Hyperledger Fabric 使用viper 来读取配置和 viper 的首字母:

// For environment variables.
viper.SetEnvPrefix("core")
viper.AutomaticEnv()
replacer := strings.NewReplacer(".", "_")
viper.SetEnvKeyReplacer(replacer)

这使得通过以CORE为前缀的环境变量导出配置参数来覆盖和控制配置参数成为可能。

【讨论】:

  • 感谢您的回复。好的。我明白了。所以,假设我通过环境变量提供任何参数的值,并启动对等点,那么如果我进入 docker 映像,那么我也不会看到我通过变量提供的值。它仍然会保存打包的 core.yaml 中实际存在的值。我说的对吗?
  • 不是真的,实际上如果你更新了环境变量,一旦进入容器你就会看到更新的值。但是 core.yaml 将包含默认值或原始值。
  • 您可以尝试构建您的第一个网络示例
  • 是的,我试过了。所以,容器确实有它。谢谢你 !竖起大拇指!
【解决方案2】:

core.yaml 对应于旧版本的 Hyperledger Fabric,即 0.6 版本。在那里,您定义了 Peer 配置。

在 v1.0 Hyperledger Fabric 中,docker-compose-file.yaml 似乎是一样的。

【讨论】:

  • 如果这是真的,从 v1.1.0-alpha 开始,Peer 包 main() 函数似乎仍在尝试查找 core.yaml 文件:const cmdRoot = "core"err := common.InitConfig(cmdRoot) 和 @987654323 @,以及其他一些人......
  • 但是@Urko,你说得对,docker-compose 文件可以用来覆盖 core.yaml 设置。
猜你喜欢
  • 1970-01-01
  • 2017-12-24
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多