Hyperledger Fabric - Core.yaml

10
我看到很多Hyperledger Fabric的例子,却没有在所有例子中找到core.yaml文件。我看到了很多其他文件。而在许多地方,都提到了core.yaml。是否有其他文件与之对应? 这个core.yaml配置文件从哪里获取?我该如何使用它?

我认为我们需要更多的细节。首先,“我在所有示例中都找不到core.yaml文件”,你所说的“示例”是什么意思?你是指fabric-samples吗?如果不是,那么你在哪里找到这些示例? - ajp
@ajp 是的,我指的是 fabric-samples。 - Raj Wadhwa
2个回答

7

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

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

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

现在,您在fabric-sample中看不到此文件的原因是它已经被打包到peer docker容器中,并因此成为其中的一部分。接下来,由于Hyperledger Fabric使用viper读取配置,因此viper被初始化为:

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

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


谢谢您的回复。好的,我明白了。所以,假设我通过环境变量提供任何参数的值,并启动节点,那么如果我进入Docker镜像,即使如此,我也看不到我通过变量提供的值。它仍然保持实际存在于打包的core.yaml中的值。我理解得对吗? - Raj Wadhwa
不是这样的,实际上如果您更新了环境变量,一旦进入容器,您将看到更新后的值。但是core.yaml将包含默认或原始值。 - Artem Barger
你可以尝试使用构建第一个网络的示例。 - Artem Barger
是的,我试过了。所以,容器确实具备它。谢谢你!点赞! - Raj Wadhwa
更多信息请参见 https://hyperledger-fabric.readthedocs.io/en/release-1.1/commands/peernode.html - sean

1

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)var mspMgrConfigDir = config.GetPath("peer.mspConfigPath"),以及其他一些... - sean
但是,@Urko,你说得对,docker-compose文件可以用来覆盖core.yaml的设置。 - sean

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