1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/hyperledger-fabric

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Сервис упорядочивания Hyperledger Fabric

Сервис упорядочивания Hyperledger Fabric предоставляет сервис атомарного широковещательного упорядочивания для использования пирами. Это означает, что множество клиентов могут отправлять сообщения сервису упорядочивания, и всем клиентам в ответ будет доставлена одна и та же последовательность упорядоченных пакетов.

Определение протокола

Протокол атомарного широковещательного упорядочивания для Hyperledger Fabric описан в hyperledger/fabric-protos/orderer/ab.proto. Существует два сервиса: сервис Broadcast для ввода сообщений в систему и сервис Deliver для получения упорядоченных пакетов от сервиса.

Типы сервисов

  • Сервис упорядочивания SmartBFT (в разработке): Сервис упорядочивания SmartBFT будет использовать реализацию Hyperledger Fabric SmartBFT для упорядочивания сообщений с отказоустойчивостью к византийским ошибкам.

Выбор типа сервиса

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

В частности, значение, соответствующее ключу ConsensusType карты Values группы конфигурации Orderer, должно быть установлено на BFT или etcdraft.

Для получения подробной информации о структуре конфигурации каналов обратитесь к руководству Channel Configuration.

configtxgen — это инструмент, который позволяет создать генезисный блок с использованием профилей или сгруппированных параметров конфигурации — обратитесь к руководству Configuring using the connfigtxgen tool для получения дополнительной информации.

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

Реестр

Чтобы обеспечить устойчивость к сбоям, упорядочиватель использует файловый реестр для сохранения блоков в файловой системе. Расположение блоков на диске «индексируется» в облегчённой базе данных LevelDB по номеру, чтобы клиенты могли эффективно извлекать блок по номеру.

Эксперименты с сервисом упорядочивания

Чтобы экспериментировать с сервисом упорядочивания, вы можете собрать двоичный файл упорядочивателя, просто набрав go build в каталоге hyperledger/fabric/orderer. Затем вы можете вызвать двоичный файл упорядочивателя без параметров или переопределить адрес привязки и порт, установив переменные среды ORDERER_GENERAL_LISTENADDRESS и ORDERER_GENERAL_LISTENPORT соответственно.

Образцы клиентов находятся в каталоге fabric/orderer/sample_clients.

  • Клиент broadcast_timestamp отправляет сообщение, содержащее метку времени, сервису Broadcast.
  • Клиент deliver_stdout выводит полученные пакеты на стандартный вывод из интерфейса Deliver.

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

Профилирование

Профилирование сервиса упорядочивания возможно через стандартный HTTP-интерфейс, описанный здесь. Сервис профилирования можно настроить с помощью файла orderer.yaml или через переменные среды. Чтобы включить профилирование, установите ORDERER_GENERAL_PROFILE_ENABLED=true и, при необходимости, установите ORDERER_GENERAL_PROFILE_ADDRESS на желаемый сетевой адрес для сервиса профилирования. По умолчанию адрес равен 0.0.0.0:6060, как указано в документации Golang.

Обратите внимание, что сбои сервиса профилирования, либо при запуске, либо в любое время во время работы, приведут к сбою всего сервиса упорядочивания. Поэтому в настоящее время не рекомендуется включать профилирование в производственных условиях. хрэф="http://creativecommons.org/licenses/by/4.0/">Криэйтив коммонс аттрибуция форти интернэшнл лайсенс</а>.

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/hyperledger-fabric.git
git@gitlife.ru:oschina-mirror/hyperledger-fabric.git
oschina-mirror
hyperledger-fabric
hyperledger-fabric
main