Я создаю блокчейн-приложение Hyperledger Fabric (контейнеры докеров), где я также создал шлюз приложений (контейнер докеров) с узлом js для взаимодействия с ним в качестве серверной службы.
К моему удивлению, я стал свидетелем следующего случая: Я зарегистрировал новых пользователей и зарегистрировал их через шлюз приложений и официальный SDK Fabric, используя центры сертификации сети, и сохранил их в бумажнике Fabric. И я понял, что они хранятся в другом файле fabric-ca-server.db, отличном от того, который находится в каталоге /etc/hyperledger/fabric-ca-server/ док-контейнера Fabric ca.
Я имею в виду, что когда я пытался перечислить удостоверения через cli, я получил ноль удостоверений, поскольку они были зарегистрированы через SDK. И когда я попытался зарегистрировать те же идентификаторы из SDK, я получил обычное сообщение о том, что пользователь уже зарегистрирован.
Но мне не удалось найти, где хранится этот fabric-ca-server.db, который читается для шлюза приложений (SDK)
Любая идея? Спасибо.
Файл БД можно найти в контейнере ЦС, используя следующий путь
/etc/hyperledger/fabric-ca-server
Вы обнаружите, что этот путь также упоминается в файле компоновки docker.
Спасибо за ваш ответ! Это правильный путь!!
Правильный путь, как указано в приведенном выше ответе, — это каталог внутри контейнера ЦС ткани!
Моя ошибка заключалась в том, что через SDK приложения я только регистрировал некоторых админов, не регистрируя их. И это только выдача сертификатов без добавления их в фактическую базу данных. После того, как я зарегистрировал некоторых пользователей и зарегистрировал их, я смог просмотреть их всех в базе данных, которая находится в контейнере докера.
Да, это тоже было мое первое впечатление. Заглянуть под контейнер ca. Я забыл упомянуть об этом. Я также искал в этой базе данных, но тот же результат. Там не хранятся пользователи sdk, а только пользователи, зарегистрированные из cli. И это было действительно странно для меня!