Не удалось обновить одноранговый узел Hyperledger fabri c: набор сигнатур не соответствует политике - PullRequest
0 голосов
/ 23 января 2020

У меня HLF-сеть с двумя оргами (по одному на каждого) и 3 узлами заказа с типом заказа в качестве плота. Для первого присоединения к org и однорангового узла обновления работают без проблем, но для второго org у меня возникают некоторые проблемы с обновлением однорангового узла

Вот команда, которую я использовал для обновления однорангового узла

peer channel update \
    -o orderer1.base.order:7050 \
    -c basechannel \
    -f ./channel-artifacts/BaseRightOrg.tx \
    --tls \
    --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/base.order/orderers/orderer1.base.order/msp/tlscacerts/tlsca.base.order-cert.pem

Я получаю ошибку:

Ошибка: получен неожиданный статус: BAD_REQUEST - ошибка применения обновления конфигурации к существующему каналу 'basechannel': ошибка авторизации обновления: ошибка проверки DeltaSet: policy для [Group] / Channel / Application / RightOrgMSP не удовлетворен: набор подписей не удовлетворяет политике

Здесь находится раздел configtx вышеуказанной организации

 - &Org2
        Name: RightOrgMSP
        ID: RightOrgMSP
        MSPDir: crypto-config/peerOrganizations/base.right/msp
        Policies:
            Readers:
                Type: Signature
                Rule: "OR('RightOrgMSP.admin', 'RightOrgMSP.peer', 'RightOrgMSP.client','RightOrgMSP.member')"
            Writers:
                Type: Signature
                Rule: "OR('RightOrgMSP.admin','RightOrgMSP.peer', 'RightOrgMSP.client','RightOrgMSP.member')"
            Admins:
                Type: Signature
                Rule: "OR('LeftOrgMSP.admin','RightOrgMSP.peer')"
            Endorsement:
                Type: Signature
                Rule: "OR('RightOrgMSP.peer')"     

        AnchorPeers:
            - Host: peer1.base.right
              Port: 9051       

Ответы [ 3 ]

0 голосов
/ 27 января 2020

В вашем configtx в организации вы должны указывать только администратора для этой организации, но не оба.

 &Org2
    Name: RightOrgMSP
    ID: RightOrgMSP
    MSPDir: crypto-config/peerOrganizations/base.right/msp
    Policies:
        Readers:
            Type: Signature
            Rule: "OR('RightOrgMSP.admin', 'RightOrgMSP.peer', 'RightOrgMSP.client','RightOrgMSP.member')"
        Writers:
            Type: Signature
            Rule: "OR('RightOrgMSP.admin','RightOrgMSP.peer', 'RightOrgMSP.client','RightOrgMSP.member')"
        Admins:
            Type: Signature
            Rule: "OR('RightOrgMSP.admin')"
        Endorsement:
            Type: Signature
            Rule: "OR('RightOrgMSP.peer')"     

    AnchorPeers:
        - Host: peer1.base.right
          Port: 9051   

Проблема не в этом, хотя проверьте раздел политики вашего канала, если это администраторы MAJORITY под администраторами, которые это обновление канала должно быть подписано обеими организациями. После подписания всех транзакций, которые в этом случае являются большинством, ваше обновление будет работать.

Application: &ApplicationDefaults

# Organizations is the list of orgs which are defined as participants on
# the application side of the network
Organizations:

# Policies defines the set of policies at this level of the config tree
# For Application policies, their canonical path is
#   /Channel/Application/<PolicyName>
Policies:
    Readers:
        Type: ImplicitMeta
        Rule: "ANY Readers"
    Writers:
        Type: ImplicitMeta
        Rule: "ANY Writers"
    Admins:
        Type: ImplicitMeta
        Rule: "MAJORITY Admins"

Если вы все еще не можете выполнить его, поделитесь полной конфигурацией.

0 голосов
/ 27 января 2020

Файл (./channel-artifacts/BaseRightOrg.tx) должен быть подписан всеми / большинством администраторов организаций, которые являются частью канала последовательно (то есть один за другим один и тот же файл). Тогда только обновление будет успешным.

Попробуйте использовать приведенную ниже команду для каждого пира канала:

равноправный канал signconfigtx -f ./channel-artifacts/BaseRightOrg.tx

После подписания вы можете обновить канал.

0 голосов
/ 23 января 2020

cafile

/ opt / gopath / src / github.com / hyperledger / fabric / peer / crypto / ordererOrganizations / base.order / orderers / orderer1.base. order / msp / tlscacerts / tlsca.base.order-cert.pem

В строке выше измените местоположение сертификата и ключ.

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