Я застрял с этой ошибкой при попытке создать канал с использованием API (я использую аналогичный образец, чтобы сбалансировать пример передачи из образцов ткани)
Однако я могу создать канал, установить, создать его экземпляр и вызвать с помощью команд cli
- networkconfig.yaml -
#
Профиль сетевого подключения предоставляет клиентским приложениям информацию о цели
сеть блокчейна, необходимая для взаимодействия приложений с ней. Это все
знания, которые должны быть получены из внеполосных источников. Этот файл предоставляет такой источник.
название: "business-connect"
#
Любые свойства с префиксом "x-" будут рассматриваться как специфичные для приложения, точно так же, как присвоение имен
в заголовках HTTP или свойствах swagger работают. SDK просто проигнорирует эти поля и оставит
их для обработки заявок. Это механизм для разных компонентов приложения
для обмена информацией, которая не является частью стандартной схемы, описанной ниже. В частности,
свойство "x-type" с приведенным ниже примером значения "hlfv1" используется Hyperledger Composer для
определяет тип сетей Fabric (v0.6 и v1.0), с которыми он должен работать.
x-type: "hlfv1"
#
Опишите, что целевая сеть / делает.
описание: "Business connect-POC"
#
Схема версии контента. Используется SDK для применения соответствующих правил синтаксического анализа.
версия: "1.0"
#
Клиентский раздел будет добавляться для каждой организации, см. Org1.yaml и org2.yaml
#
клиент:
#
[Дополнительно]. Но большинство приложений имеют этот раздел, чтобы объекты канала могли быть построены
на основе содержания ниже. Если приложение создает каналы, оно, вероятно, не будет нуждаться в этом
раздел.
каналов: # название канала внутренний канал:
# Required. list of orderers designated by the application to use for transactions on this
# channel. This list can be a result of access control ("org1" can only access "ordererA"), or
# operational decisions to share loads from applications among the orderers. The values must
# be "names" of orgs defined under "organizations/peers"
orderers:
- orderer1-htc
# Required. list of peers from participating orgs
peers:
peer1-accounts:
# [Optional]. will this peer be sent transaction proposals for endorsement? The peer must
# have the chaincode installed. The app can also use this property to decide which peers
# to send the chaincode install request. Default: true
endorsingPeer: true
# [Optional]. will this peer be sent query proposals? The peer must have the chaincode
# installed. The app can also use this property to decide which peers to send the
# chaincode install request. Default: true
chaincodeQuery: true
# [Optional]. will this peer be sent query proposals that do not require chaincodes, like
# queryBlock(), queryTransaction(), etc. Default: true
ledgerQuery: true
# [Optional]. will this peer be the target of the SDK's listener registration? All peers can
# produce events but the app typically only needs to connect to one to listen to events.
# Default: true
eventSource: true
peer1-mgmt:
endorsingPeer: false
chaincodeQuery: true
ledgerQuery: true
eventSource: false
peer1-project:
endorsingPeer: false
chaincodeQuery: true
ledgerQuery: true
eventSource: true
# [Optional]. what chaincodes are expected to exist on this channel? The application can use
# this information to validate that the target peers are in the expected state by comparing
# this list with the query results of getInstalledChaincodes() and getInstantiatedChaincodes()
chaincodes:
# the format follows the "cannonical name" of chaincodes by fabric code
- mycontract-v0.1
#
список участвующих организаций в этой сети
организации: htc:
mspid: htcMSP
orderer:
- orderer1-htc
certificateAuthorities:
- ica-htc accounts:
mspid: accountsMSP
peers:
- peer1-accounts
# [Optional]. Certificate Authorities issue certificates for identification purposes in a Fabric based
# network. Typically certificates provisioning is done in a separate process outside of the
# runtime network. Fabric-CA is a special certificate authority that provides a REST APIs for
# dynamic certificate management (enroll, revoke, re-enroll). The following section is only for
# Fabric-CA servers.
certificateAuthorities:
- ica-accounts
# [Optional]. If the application is going to make requests that are reserved to organization
# administrators, including creating/updating channels, installing/instantiating chaincodes, it
# must have access to the admin identity represented by the private key and signing certificate.
# Both properties can be the PEM string or local path to the PEM file. Note that this is mainly for
# convenience in development mode, production systems should not expose sensitive information
# this way. The SDK should allow applications to set the org admin identity via APIs, and only use
# this route as an alternative when it exists.
adminPrivateKey:
path: network/data/orgs/accounts/admin/msp/keystore/accounts_sk
signedCert:
path: network/data/orgs/accounts/admin/msp/signcerts/cert.pem
# профиль будет содержать публичную информацию об организациях
кроме того, к которому он принадлежит. # Это необходимая информация
заставить работать жизненные циклы транзакций, включая идентификаторы MSP и # peers
с общедоступным URL для отправки предложений по транзакциям. Файл не будет
содержит личную # информацию, зарезервированную для членов
организация, такая как ключ администратора и сертификат, # fabric-ca
регистрационный номер регистрации и секретный ключ и т. д.
mspid: mgmtMSP
сверстники:
- peer1-mgmt
certificateAuthorities:
- ica-mgmt
adminPrivateKey:
путь: сеть / данные / организации / mgmt / admin / msp / keystore / mgmt_sk
signedCert:
путь: сеть / данные / организации / mgmt / admin / msp / signcerts / cert.pem проект:
MSPID: ProjectMSP
сверстники:
- peer1-проект
certificateAuthorities:
- ica-проект
adminPrivateKey:
путь: сеть / данные / организации / проект / администратор / msp / хранилище ключей / проект_sk
signedCert:
путь: сеть / данные / организации / проект / администратор / msp / signcerts / cert.pem
#
Список клиентов для отправки транзакции и отправки запросов на создание / обновление. На время
нужен только один заказчик. Если определено более одного, какой из них используется
SDK зависит от реализации. Обратитесь к документации каждого SDK для обработки заказов.
заказчики: orderer1-htc:
url: grpcs://localhost:7050
# these are standard properties defined by the gRPC library
# they will be passed in as-is to gRPC client constructor
grpcOptions:
ssl-target-name-override: orderer1-htc
tlsCACerts:
path: network/data/htc.crt
#
Список пиров для отправки различных запросов, включая подтверждение, запрос
и регистрацию прослушивателя событий.
peers: peer1-account:
# this URL is used to send endorsement and query requests
url: grpcs://localhost:7051
grpcOptions:
ssl-target-name-override: peer1-accounts
tlsCACerts:
path: network/data/accounts.crt
peer1-mgmt: url: grpcs: // localhost: 8051 grpcOptions: ssl-target-name-override: peer1-mgmt tlsCACerts: путь: сеть / данные / mgmt.crt
peer1-проект: url: grpcs: // localhost: 9051
grpcOptions:
ssl-target-name-override: peer1-project
tlsCACerts:
path: network/data/project.crt
#
Fabric-CA - это особый тип центра сертификации, предоставляемый Hyperledger Fabric, который позволяет
управлять сертификатами через API REST.,Приложение может выбрать использование стандартного
центра сертификации вместо Fabric-CA, в этом случае этот раздел не будет указан.
CertificateAuthorities: ica-htc:
url: http://localhost:1054
httpOptions:
verify: false
tlsCACerts:
path: network/data/htc-ca-cert.pem
registrar:
- enrollId: ica-htc-admin
enrollSecret: ica-htc-adminpw
# [Optional] The optional name of the CA.
caName: ica-htc ica-accounts:
url: http://localhost:7054
# the properties specified under this object are passed to the 'http' client verbatim when
# making the request to the Fabric-CA server
httpOptions:
verify: false
tlsCACerts:
path: network/data/accounts-ca-chain.pem
# Fabric-CA supports dynamic user enrollment via REST APIs. A "root" user, a.k.a registrar, is
# needed to enroll and invoke new users.
registrar:
- enrollId: ica-accounts-admin
enrollSecret: ica-accounts-adminpw
# [Optional] The optional name of the CA.
caName: ica-accounts
ica-mgmt: url: http://localhost:8054 httpOptions: verify: false tlsCACerts: путь: сеть / данные / mgmt-ca-chain.pem регистратор: - enrollId: ica-mgmt-admin enrollSecret: ica-mgmt-adminpw # [Необязательно] Необязательное имя CA.caName: ica-mgmt
ica-project: url: http://localhost:9054 httpOptions: verify: false tlsCACerts: путь: сеть / данные / project-ca-chain.pem регистратор: - enrollId: ica-project-admin enrollSecret: ica-project-adminpw # [Необязательно] Необязательное имя CA.caName: ica-project