I have been following the tutorial Build Your First Network with docker containers deployed on my localhost. However, I am uncertain some of the files inside the containers and I need clarification.
Inside the directory /var/hyperledger/production/chaincodes
, there is a file mycc.1.0
, which is compiled I guess. Is it true that this chaincode is installed when running peer chaincode install
in the cli container? And is mycc.1.0
the system chaincodes?
Inside the directory /var/hyperledger/production/ledgersData
, there are many other directories and files as shown below. I have a rough idea that it stores the world state and the blockchain. But what are the details in each directories?
bookkeeper
chains
configHistory
historyLeveldb
ledgerProvider
pvtdataStore
stateLeveldb
Inside the directory /var/hyperledger/production/transientStore
, there are several files.
000001.log
CURRENT
LOCK
LOG
MANIFEST-000000
I also noticed that these files (with the same name but not sure if the context is the same or not) are found on those directories listed in point 2 above. So what is the difference or relation between transientStore
and ledgersData
?
Inside the directory /var/hyperledger/orderer
, there are msp
and tls
crypto-materials. But what is the purpose of orderer.genesis.block
? Is it just used for bootstrap the blockchain network? After exploring this file, I found that it consists of certificates and ACL. Are these materials also used for monitoring the channel policy as well as verifying the transactions?
Inside the directory /var/hyperledger/production/orderer
. There are two directories chains
and index
. They look very similar to the chains
directory in peer container. But I still don't know what are these files.
The above containers have the name peer#.org#.example.com
and orderer.example.com
. But when I run docker container ls
, I find that there are dev-peer#.org#.example.com-mycc-1.0
docker containers. But I have no idea why they are here.
Thanks!
Update
Added point 3 concerning transientStore
as shown in Peer container section (see above)
I noticed that in base/docker-compose-base.yaml
, there is a volume mount like this /var/run/:/host/var/run/
. Those files seem to be my local stuff and may not be related to hyperledger fabric. Why mount this volume?
/var/hyperledger/production/chaincodes
- this is where installed chaincode packages are stored.
orderer.genesis.block
is the bootstrap block for the orderer ... it contains the basic orderer settings and the crypto material for the orderer organization. The orderer organization has the ability to create consortiums and add members to them. The consortium policies will then dictate who is able to create channels, etc.
chains
- the raw ledger files for each channel
These are the chaincode containers. Fabric launches chaincode in Docker containers.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.