Hyperledger Fabric:configtx.yaml中的MSPDir与ORDERER_GENERAL_LOCALMSPDIR

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

configtx.yaml允许设置MSPDir。示例如下:

Organizations:

  - &ord

    Name: ord

    # ID to load the MSP definition as
    ID: ordMSP

    # MSPDir is the filesystem path which contains the MSP configuration
    MSPDir: /data/orgs/ord/msp

但是当启动orderer或peer时,也可以定义环境变量ORDERER_GENERAL_LOCALMSPDIR,例如, here

这两种方式不是设置相同的东西吗?哪一个优于另一个?假设yaml文件中的MSPDir设置为A而ORDERER_GENERAL_LOCALMSPDIR设置为B,那么在这种情况下会发生什么?

hyperledger-fabric
2个回答
0
投票

环境变量override配置文件中的属性(在本例中为orderer.yaml,对等情况为core.yaml)。您可以在docker-compose文件中看到它的工作原理示例,容器内部已将FABRIC_CFG_PATH设置为orderer.yaml目录,但环境变量会覆盖配置文件。


0
投票

这个问题的正确答案是ORDERER_GENERAL_LOCALMSPDIR正在定义本地MSP,而configtx.yaml正在定义通道MSP。 orderer.yaml中的ORDERER_GENERAL_LOCALMSPDIR包含订货人的身份。 configtx.yaml包含网络中所有参与者的MSP目录。这些身份存储在genesis block中,从那里提交交易的任何人都可以通过here提供身份验证和身份验证。

其次,我们指向每个成员的MSP目录的位置,从而允许我们在orderer genesis块中存储每个Org的根证书。这是一个关键概念。现在,与订购服务通信的任何网络实体都可以验证其数字签名。

Difference between local MSP and Channel MSP?

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