Hyperledger Fabric: Понимание Docker Контейнеров - PullRequest
0 голосов
/ 08 ноября 2018

Backgroud

Я следовал учебному пособию Создайте свою первую сеть с докер-контейнерами, развернутыми на моем локальном хосте. Тем не менее, я не уверен, какие файлы находятся внутри контейнеров, и мне нужно уточнить.

Одноранговый контейнер

  1. Внутри каталога /var/hyperledger/production/chaincodes находится файл mycc.1.0, который, как мне кажется, компилируется Правда ли, что этот цепной код устанавливается при запуске peer chaincode install в контейнере cli? И 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 выше. Так в чем же разница или отношение между transientStore и ledgersData?

Контейнер для заказа

  1. Внутри каталога /var/hyperledger/orderer есть msp и tls криптоматериалы. Но какова цель orderer.genesis.block? Это просто используется для начальной загрузки сети блокчейн? Изучив этот файл, я обнаружил, что он состоит из сертификатов и ACL. Эти материалы также используются для мониторинга политики канала и проверки транзакций?

  2. Внутри каталога /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-контейнеры. Но я понятия не имею, почему они здесь.

Спасибо!


Обновление

  1. Добавлен пункт 3, касающийся transientStore, как показано в разделе «Одноранговый контейнер» (см. Выше)

  2. Я заметил, что в base/docker-compose-base.yaml есть монтирование громкости, подобное этому /var/run/:/host/var/run/. Эти файлы кажутся моими локальными материалами и могут не иметь отношения к фабрике гиперледжеров. Зачем монтировать этот том?

1 Ответ

0 голосов
/ 09 ноября 2018

Одноранговый контейнер

/var/hyperledger/production/chaincodes - здесь хранятся установленные пакеты с кодами цепей.

Контейнер для заказа

orderer.genesis.block - это блок начальной загрузки для заказчика ... он содержит основные настройки заказчика и криптографический материал для организации заказчика. Организация-заказчик имеет возможность создавать консорциумы и добавлять в них участников. Затем политика консорциума будет определять, кто может создавать каналы и т. Д.

chains - файлы необработанных регистров для каждого канала

DEV-PEER # .org # .example.com-mycc-1,0

Это контейнеры с цепочками кодов. Ткань запускает цепной код в контейнерах Docker.

...