В наши дни происходит много обновлений программного обеспечения, и давайте посмотрим правде в глаза, в большинстве случаев обновления не очень интересны и даже не видны.
Однако последняя версия Hyperledger Composer v0.17.1 (примечания к выпуску здесь) действительно интересна по нескольким причинам.
Сначала немного о совместимости Hyperledger Fabric / Composer.
Текущий стабильный выпуск Hyperledger Fabric - v1.0, поэтому у нас есть поток Hyperledger Composer v0.16.x, совместимый с ним.
Тем не менее, прогресс требует все новых и лучших версий, поэтому команда Hyperledger Fabric в настоящее время сделала доступным «технический превью» реализации v1.1. Недавно выпущенный поток Composer v0.17 совместим с этой версией.
Так что нового?
Собственный код цепочки NodeJS
Composer теперь использует преимущества встроенной поддержки цепного кода NodeJS, которая была выпущена в v1.1, что означает, что мы смогли удалить всю нагрузку кода из Composer, которая позволяла это раньше, и теперь ваш цепочный код может работать быстрее, с меньшими ограничениями и используя меньше памяти.
Еще одна замечательная особенность этого заключается в том, что теперь вы можете использовать преимущества NodeJS версии 8 в своих функциях транзакций, что ускоряет работу и дает вам больше возможностей и гибкости с точки зрения того, что вы можете делать с поддержкой основного языка.
Так что, если этого недостаточно, чтобы интересоваться версией 0.17, как насчет…
Общий профиль подключения (CCP)?
В Composer сетевые бизнес-карты представляют собой коллекции файлов, все они хорошо заархивированы, которые вместе используются клиентскими приложениями Hyperledger Fabric для нацеливания на бизнес-сети, с которыми им нужно взаимодействовать, и для хранения учетных данных, с которыми они подключаются.
Часть сетевой карты предприятия содержится в файле, называемом профилем подключения, который определяет топологию сети предприятия. Структура этого файла изменилась между Fabric v1.0 и v1.1, который теперь использует так называемые общие профили подключения (CCP).
В Composer v0.17 добавлена поддержка CCP Hyperledger Fabric, так что приложения Composer теперь могут использовать весь спектр возможностей и топологий, которые CCP позволяют указывать при проектировании сети Blockchain.
Как и следовало ожидать, это приводит к тому, что карты Business Network Card, выпущенные до версии 0.17, больше не совместимы, поэтому вам придется уничтожить их, но это небольшая цена, которую вы должны заплатить, если хотите работать над v1. 1 ткань.
Получение практического опыта
Здесь есть 2 варианта, чтобы увидеть эту новую версию в действии.
онлайн
Первый - использовать бесплатную версию, которая уже размещена, перейдя здесь.
«Далее» в URL-адресе указывает, что это Fabric / Composer v1.1 / 0.17.1.
Если вы пойдете сюда, то внимательные среди вас заметят, что это Fabric / Composer v1.0 / 0.16.3.
Имейте в виду, что эти версии несовместимы - в основном из-за эволюции сетевых карт Composer Business Network (которые делают подключение к фабричной сети настолько простым!), Чтобы включить функции общего профиля подключения.
Локальная установка
Итак, давайте настроим структуру гипертекстов v1.1 и совместимую игровую площадку и среду для композиторов v0.17, чтобы мы могли разработать приложение Blockchain.
У вас должен быть Mac (10.12 или новее) или Linux Ubuntu (14.04 или 16.04 base). Пользователям Windows потребуется Vagrant VM под управлением Ubuntu или аналогичного.
- Установите предварительное программное обеспечение.
(Я рекомендую Homebrew установить NPM, если вы используете Mac)
Больше советов для конкретных операционных систем можно найти здесь.
2. Установите инструменты композитора.
Откройте терминал и выполните эти команды, чтобы получить интерфейс командной строки композитора v0.17, игровую площадку (UI) и REST-сервер.
npm install -g composer-cli@next npm install -g composer-playground@next npm install -g composer-rest-server@next
3. А теперь давайте запустим несколько докер-контейнеров, на которых запущена структура Hyperledger
mkdir ~/fabric-tools && cd ~/fabric-tools curl -O https://raw.githubusercontent.com/hyperledger/composer-tools/master/packages/fabric-dev-servers/fabric-dev-servers.zip unzip fabric-dev-servers.zip
export FABRIC_VERSION=hlfv11 ./downloadFabric.sh ./startFabric.sh ./createPeerAdminCard.sh
4. Запуск пользовательского интерфейса игровой площадки для композиторов.
Запустите composer-playground
в терминале, чтобы запустить пользовательский интерфейс. Он автоматически запустит сеанс браузера.
Теперь у вас должно быть запущено несколько док-контейнеров, которые вы можете увидеть, запустив docker ps
Что дальше?
Я настоятельно рекомендую вам пойти и следовать руководствам по использованию Composer Playground для развертывания бизнес-сети. Есть также несколько интересных руководств по разработке определения бизнес-сети и выполнению запросов к блокчейну.
Пссш, как его убить?
Используйте эти команды, чтобы уничтожить контейнеры, удалить контейнеры и, наконец, удалить изображения.
docker kill $(docker ps -q)
docker rm $(docker ps -aq)
docker rmi $(docker images dev-* -q)
В любом случае, в следующий раз я немного углублюсь в некоторые другие аспекты инструментов Composer. Сервер REST, аутентификация / безопасность, модель Business Network? Сообщите мне, если что-нибудь вызовет у вас интерес, в разделе комментариев ниже.