Hyperledger Fabric:了解Docker容器

时间:2018-11-08 09:08:46

标签: docker hyperledger-fabric hyperledger

背景

我一直在遵循教程Build Your First Network,并在本地主机上部署了Docker容器。但是,我不确定容器中的某些文件,需要澄清。

对等容器

  1. 在目录/var/hyperledger/production/chaincodes中,有一个文件mycc.1.0,我猜是已编译。在cli容器中运行peer chaincode install时是否已安装此链码? mycc.1.0是系统链码吗?

  2. 在目录/var/hyperledger/production/ledgersData内,还有许多其他目录和文件,如下所示。我有一个大概的想法,那就是它存储了世界状态和区块链。但是每个目录的详细信息是什么?

    • bookkeeper
    • chains
    • configHistory
    • historyLeveldb
    • ledgerProvider
    • pvtdataStore
    • stateLeveldb
  3. 在目录/var/hyperledger/production/transientStore中,有几个文件。

    • 000001.log
    • CURRENT
    • LOCK
    • LOG
    • MANIFEST-000000

我还注意到,这些文件(具有相同的名称,但不确定上下文是否相同)位于上面第2点列出的那些目录中。那么transientStoreledgersData之间的区别或关系是什么?

订购者容器

  1. 在目录/var/hyperledger/orderer中,有msptls个加密材料。但是orderer.genesis.block的目的是什么?它只是用于引导区块链网络吗?浏览此文件后,我发现它由证书和ACL组成。这些材料还用于监控渠道政策以及验证交易吗?

  2. 在目录/var/hyperledger/production/orderer中。有两个目录chainsindex。它们看起来与对等容器中的chains目录非常相似。但是我仍然不知道这些文件是什么。

以上容器的名称为peer#.org#.example.comorderer.example.com。但是当我运行docker container ls时,我发现有dev-peer#.org#.example.com-mycc-1.0个Docker容器。但是我不知道他们为什么在这里。

谢谢!


更新

  1. 添加了与transientStore有关的点3,如对等容器部分中所示(见上文)

  2. 我注意到在base/docker-compose-base.yaml中有一个类似/var/run/:/host/var/run/的卷装入。这些文件似乎是我的本地资料,可能与超账结构无关。为什么要挂载此卷?

1 个答案:

答案 0 :(得分:2)

对等容器

/var/hyperledger/production/chaincodes-这是已安装的链码包的存储位置。

订购者容器

orderer.genesis.block是订购者的引导块...它包含订购者组织的基本订购者设置和加密材料。 订购者组织可以创建财团并向其添加成员。然后,联盟政策将决定谁可以创建频道等。

chains-每个通道的原始分类帐文件

dev-peer#.org#.example.com-mycc-1.0

这些是chaincode容器。 Fabric在Docker容器中启动链码。