Проверка и установка сетевого кода Hyperledger Fabric - PullRequest
0 голосов
/ 02 октября 2018

Мы хотим обменяться подписанными пакетами CDS с партнерской организацией в нашей общей сети Hyperledger Fabric.Мы работаем в соответствии с Руководством оператора по адресу https://hyperledger -fabric.readthedocs.io / en / latest / chaincode4noah.html # packaging .

Мы можем получать и устанавливать подписанные пакетыбез проблем, но как мы узнаем, что мы устанавливаем?Наши процедуры установки требуют проверки того, что мы получаем, и, возможно, создания тестов для объекта, который мы собираемся установить.

Мой вопрос: Как мы можем проверить исходный код того, что мынаша партнерская организация просит установить? Если мы не можем его проверить, у нас нет реальной прозрачности в отношении консенсуса, который мы должны дать.

Мы попытались извлечь объект gzipped изфайл .pak и разархивируйте его, но формат .gz, похоже, не в стандартном формате.Я подозреваю, что мы упускаем что-то фундаментальное здесь, в процедуре или инструментах.

Для справки, мы извлекаем фрагмент кода следующим образом:

protoc --decode_raw < test_cc_signed_package.pak > test_cc_signed_package.decoded

, затем мы извлекаем сжатый "код"часть, подобная этой (в нашем примере подписанный пакет находится в "1.2.1.3" файла, но может отличаться для вас)

cat test_cc_signed_package.decoded | grep "^      3:" | sed -r 's/^      3:\ \"(.*)\"$/\1/'

Вывод в формате, который мы можем выполнить diffи, который мы надеялись сохранить в двоичном файле и просто распаковать его. Однако Gzip отказывается декодировать файл, и, проверяя его в xxd, мы видим, что формат не соответствует gzip.

1 Ответ

0 голосов
/ 02 октября 2018

Возможно, вы можете попросить партнерскую организацию выслать вам файлы, которые были упакованы, чтобы вы могли просто упаковать их самостоятельно, а затем сравнить пакет с пакетом, который вы должны установить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...