Как создать консорциум с 1 организацией в сети с двумя организациями? - PullRequest
0 голосов
/ 11 октября 2019

Я настраиваю сервер, состоящий из двух организаций (3 позже), как показано в следующей ссылке: https://hyperledger -fabric.readthedocs.io / en / release-1.4 / network / network.html

Однако консорциум не должен содержать две организации (Org1 и Org2), а только организацию 1 (Org1), как показано на этом изображении: https://imgur.com/a/gcBcINq

В моем configtx.yamlфайл, я устанавливаю значение SampleConsortium следующим образом:

Profiles:

    TwoOrgsOrdererGenesis:
        <<: *ChannelDefaults
        Orderer:
            <<: *OrdererDefaults
            Organizations:
                - *OrdererOrg
            Capabilities:
                <<: *OrdererCapabilities
        Consortiums:
            SampleConsortium:
                Organizations:
                    - *Org1
                    # - *Org2
    TwoOrgsChannel:
        Consortium: SampleConsortium
        <<: *ChannelDefaults
        Application:
            <<: *ApplicationDefaults
            Organizations:
                - *Org1
                - *Org2
            Capabilities:
                <<: *ApplicationCapabilities

Поэтому я определяю консорциум с одной организацией: Org2.

Однако, когда создается экземпляр моего канала с помощью строки кода

peer channel create -o orderer.example.com:7050 -c $CHANNEL_NAME -f./channel-artifacts/channel.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example. com-cert.pem

На экране отображается сообщение об ошибке: Ошибка: получен неожиданный статус: BAD_REQUEST - Попытка включить участника, которого нет в консорциуме

У вас есть идея сгенерировать мойканал, в котором есть только одна организация в моем консорциуме?

Заранее большое спасибо за ваши ответы:)

PS: Это мой первый проект с фабрикой Hyperledger, поэтому я все еще "новичок""с тего технология. Однако мне кажется, что нет никаких признаков того, что в консорциуме не должно быть по крайней мере двух организаций.

Ответы [ 2 ]

0 голосов
/ 15 октября 2019

Большое спасибо, ваше решение сработало. Однако я могу добавить только организацию Org1 в свой канал. Если я прокомментирую строку Org2, ошибка

Error: got unexpected status: BAD_REQUEST -- error validating channel creation transaction for new channel 'mychannel', could not succesfully apply update to template configuration: error authorizing update: error validating DeltaSet: policy for [Group]  /Channel/Application not satisfied: implicit policy evaluation failed - 0 sub-policies were satisfied, but this policy requires 1 of the 'Admins' sub-policies to be satisfied

В то время как мой файл configtx.yaml выглядит следующим образом:

Profiles:

    TwoOrgsOrdererGenesis:
        <<: *ChannelDefaults
        Orderer:
            <<: *OrdererDefaults
            Organizations:
                - *OrdererOrg
            Capabilities:
                <<: *OrdererCapabilities
        Consortiums:
            SampleConsortium:
                Organizations:
                    - *Org1
                    - *Org2
    TwoOrgsChannel:
        Consortium: SampleConsortium
        <<: *ChannelDefaults
        Application:
            <<: *ApplicationDefaults
            Organizations:
               # - *Org1
                 - *Org2
            Capabilities:
                <<: *ApplicationCapabilities

0 голосов
/ 13 октября 2019

Вы должны комментировать Org2 из профиля TwoOrgsChannel. тогда вы сможете создать мой канал, как только это будет сделано, вы можете добавить Org2, обновив конфигурацию канала, чтобы узнать подробности, с которыми вы можете ознакомиться, прочитав документацию https://hyperledger -fabric.readthedocs.io / en / release-1.4 /channel_update_tutorial.html

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