Hyperledger Fabric:configtx.yaml中的MSPDir与ORDERER_GENERAL_LOCALMSPDIR

时间:2019-01-22 22:35:50

标签: hyperledger-fabric

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_GENERAL_LOCALMSPDIR,例如完成此操作。 here

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

此问题的正确答案是ORDERER_GENERAL_LOCALMSPDIR正在定义本地MSP,而configtx.yaml正在定义通道MSP。 orderer.yaml中的ORDERER_GENERAL_LOCALMSPDIR包含订购者的身份。 configtx.yaml包含所有参与者的MSP目录 网络。这些身份存储在genesis block中,从那里开始,提交交易的任何人都可以按照上述here的方式对其身份进行验证和认证。

  

第二,我们指向每个MSP目录的位置   成员,进而允许我们存储每个证书的根证书   组织者创始块中的组织。这是一个关键的概念。现在任何   与订购服务通信的网络实体可以具有   数字签名已验证。

Difference between local MSP and Channel MSP?