背景
我一直在学习教程"使用部署在本地主机上的docker容器构建您的第一个网络"。然而,我不确定集装箱内的一些文件,我需要澄清。
对等容器
-
在目录
/var/hyperledger/production/chaincodes
中,有一个文件mycc.1.0
,我想它是编译的。在cli容器中运行peer chaincode install
时,是否确实安装了此链代码?mycc.1.0
是系统链码吗? -
在目录
/var/hyperledger/production/ledgersData
中,还有许多其他目录和文件,如下所示。我有一个粗略的想法,它存储了世界状态和区块链。但是每个目录中的详细信息是什么?bookkeeper
chains
configHistory
historyLeveldb
ledgerProvider
pvtdataStore
stateLeveldb
-
在目录
/var/hyperledger/production/transientStore
中,有几个文件。000001.log
CURRENT
LOCK
LOG
MANIFEST-000000
我还注意到,这些文件(名称相同,但不确定上下文是否相同(位于上面第2点列出的目录中。那么transientStore
和ledgersData
之间有什么区别或关系呢?
订单容器
-
在目录
/var/hyperledger/orderer
中,有msp
和tls
加密材料。但是orderer.genesis.block
的目的是什么?它只是用于引导区块链网络吗?在浏览了这个文件之后,我发现它由证书和ACL组成。这些材料是否也用于监控渠道策略以及验证交易? -
在目录
/var/hyperledger/production/orderer
中。有两个目录chains
和index
。它们看起来与对等容器中的chains
目录非常相似。但我仍然不知道这些文件是什么。
上述容器的名称分别为peer#.org#.example.com
和orderer.example.com
。但是当我运行docker container ls
时,我发现有dev-peer#.org#.example.com-mycc-1.0
docker容器。但我不知道他们为什么在这里。
谢谢!
更新
-
添加了关于
transientStore
的第3点,如对等容器部分所示(见上文( -
我注意到在
base/docker-compose-base.yaml
中,有一个类似于/var/run/:/host/var/run/
的卷装载。这些文件似乎是我本地的东西,可能与超级账本结构无关。为什么要装载此卷?
对等容器
/var/hyperledger/production/chaincodes
-这是存储已安装的链代码包的位置。
订单容器
orderer.genesis.block
是订购者的引导程序块。。。它包含基本的订购者设置和订购者组织的加密材料。订购方组织能够创建联盟并向其添加成员。然后,联盟政策将规定谁能够创建渠道等。
chains
-每个通道的原始分类账文件
dev-peer#.org#.example.com-mycc-1.0
这些是链代码容器。Fabric在Docker容器中启动链代码。