Hyperledger fabri c: Удаление тестовых данных из сети - PullRequest
0 голосов
/ 07 мая 2020

Как мы обычно удаляем / очищаем все тестовые данные из сети Hyperledger Fabri c ?. мы используем следующий подход для запуска тестов (при условии, что сеть HLF запущена и работает)

  1. Запускаем тест e2e для сети
  2. Если тест проходит все правила, продолжайте к следующим этапам конвейера

После запуска теста некоторые данные доступны в мировом состоянии и блокчейне, так как же нам удалить данные без восстановления сети?

Параметры

  1. Удалите файлы, связанные с БД, из папки var/hyperledger/production, но я не уверен, что это правильный путь.

Ответы [ 2 ]

1 голос
/ 07 мая 2020

По правде говоря, удаление базы данных и перезапуск однорангового узла может быть самым быстрым способом начать заново в зависимости от ситуации.

Официально поддерживаемый метод, однако, использует функцию сброса реестра, которая позволяет вам вернуться ваши бухгалтерские книги в генезисный блок. Вы можете сбросить реестр с помощью команды peer node reset.

Вы также можете откатить свои реестры до ранее зафиксированного блока, используя peer node rollback -c <channel> -b <block_number_to_roll_back_to>

Хотя я бы рекомендовал вам взглянуть на каждую команду и сравните его скорость с простым удалением базы данных и посмотрите, что наиболее приемлемо для вашего варианта использования.

Официальную документацию можно найти здесь: https://hyperledger-fabric.readthedocs.io/en/release-2.0/commands/peernode.html#peer -node-reset-example

0 голосов
/ 07 мая 2020

Предполагая, что вы говорите об инициализированных данных из сети образцов, тестовые данные уже являются частью реестра, поэтому их нельзя удалить. Однако данные можно удалить из текущего состояния, обновив цепной код и добавив функцию удаления. После успешного обновления вашего нового цепного кода в реестре вы сможете удалить тестовые данные из созданной вами функции. Позже вы можете удалить эту функцию, снова обновив цепной код.

Для справки, удаление может быть реализовано с помощью DelState (). Вы можете сослаться на него из marbles_chaincode. go

...