Команда configtxgen

Команда configtxgen позволяет пользователям создавать и просматривать артефакты, связанные с конфигурацией канала. Содержимое генерируемых артефактов соответствует содержимому файла configtx.yaml.

Синтаксис

Команда configtxgen не имеет подкоманд, однако поддерживает флаги, предназначенные для выполнения ряда задач.

configtxgen

Usage of configtxgen:
  -asOrg string
    	Performs the config generation as a particular organization (by name), only including values in the write set that org (likely) has privilege to set
  -channelCreateTxBaseProfile string
    	Specifies a profile to consider as the orderer system channel current state to allow modification of non-application parameters during channel create tx generation. Only valid in conjunction with 'outputCreateChannelTx'.
  -channelID string
    	The channel ID to use in the configtx
  -configPath string
    	The path containing the configuration to use (if set)
  -inspectBlock string
    	Prints the configuration contained in the block at the specified path
  -inspectChannelCreateTx string
    	Prints the configuration contained in the transaction at the specified path
  -outputAnchorPeersUpdate string
    	[DEPRECATED] Creates a config update to update an anchor peer (works only with the default channel creation, and only for the first update)
  -outputBlock string
    	The path to write the genesis block to (if set)
  -outputCreateChannelTx string
    	The path to write a channel creation configtx to (if set)
  -printOrg string
    	Prints the definition of an organization as JSON. (useful for adding an org to a channel manually)
  -profile string
    	The profile from configtx.yaml to use for generation.
  -version
    	Show version information

Использование

Получение первичного блока

Запись первичного блока для канала orderer-system-channel из профиля SampleSingleMSPRaftV1_1 в файл genesis_block.pb.

configtxgen -outputBlock genesis_block.pb -profile SampleSingleMSPRaftV1_1 -channelID orderer-system-channel

Получение транзакции создания канала

Запись транзакции создания канала из профиля SampleSingleMSPChannelV1_1 в файл create_chan_tx.pb.

configtxgen -outputCreateChannelTx create_chan_tx.pb -profile SampleSingleMSPChannelV1_1 -channelID application-channel-1

Просмотр первичного блока

Вывод содержимого первичного блока из файла genesis_block.pb в терминал в формате JSON.

configtxgen -inspectBlock genesis_block.pb

Просмотр транзакции создания канала

Вывод транзакции создания канала из файла create_chan_tx.pb в терминал в формате JSON.

configtxgen -inspectChannelCreateTx create_chan_tx.pb

Вывод определения организации

Формирует определение организации на основе таких параметров, как MSPDir из файла configtx.yaml, и выводит его в формате JSON в терминал (это удобно при изменении конфигурации канала, например, при добавлении нового члена).

configtxgen -printOrg Org1

Вывод транзакции якорного узла (устаревшая)

Вывод из файла anchor_peer_tx.pb транзакции обновления определения якорных узлов для организации Org1 и профиля канала SampleSingleMSPChannelV1_1 в файле configtx.yaml. Транзакция устанавливает якорные узлы для организации Org1, если они еще не установлены в канале.

configtxgen -outputAnchorPeersUpdate anchor_peer_tx.pb -profile SampleSingleMSPChannelV1_1 -asOrg Org1

Флаг вывода -outputAnchorPeersUpdate является устаревшим. Для настройки якорных узлов в канале и обновления конфигурации канала используется инструмент configtxlator.

Конфигурация

Результат работы инструмента configtxgen в значительной степени определяется содержимым файла configtx.yaml. Этот файл является необходимым для работы configtxgen и по умолчанию должен находиться в директории, определенной переменной окружения FABRIC_CFG_PATH.

В примере файла configtx.yaml, который входит состав Fabric, приводятся все возможные параметры конфигурации. Этот файл находится в каталоге config tar-архива релиза. Также его можно найти в каталоге sampleconfig при сборке из исходного кода.