ошибка авторизации обновления: ошибка проверки DeltaSet: политика для [Значение] / Канал / Возможности не удовлетворены - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь обновить возможности до V2_0 на одном из наших каналов. у нас на канале 2 организации. У нас есть контейнер CLI, и в нем есть учетные данные всех организаций. Я использовал peer channel signconfigtx -f config_update_in_envelope.pb, чтобы подписать обновление, используя учетные данные администратора как Org1, так и Org2, и я использовал учетные данные Orgderer для выполнения peer channel update -f config_update_in_envelope.pb -c $CH_NAME -o $ORDERER_CONTAINER --tls true --cafile $ORDERER_CA. Я мог видеть, как размер файла config_update_in_envelope.pb увеличивался после того, как я подписал его с использованием учетных данных администратора Org1 и Org2. Я использовал правильные значения для CORE_PEER_MSPCONFIGPATH, CORE_PEER_LOCALMSPID и CORE_PEER_ADDRESS каждой организации при подписании обновления. Но я получаю следующую ошибку.

error authorizing update: error validating DeltaSet: policy for [Value] /Channel/Capabilities not satisfied: implicit policy evaluation failed - 1 sub-policies were satisfied, but this policy requires 2 of the 'Admins' sub-policies to be satisfied.

Я предполагал ниже контекст каждой организации при выполнении

peer channel signconfigtx -f config_update_in_envelope.pb 

.

Сведения об узле Org1

export ORDERER_CONTAINER=orderer1.ord.svc.cluster.local:7050
export CH_NAME=mychannel
export CORE_PEER_ID=peer1.org1.svc.cluster.local
export CORE_PEER_ADDRESS=peer1.org1.svc.cluster.local:7051
export CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.svc.cluster.local:7051
export CORE_PEER_LOCALMSPID=Org1MSP
export CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/artifacts/peerOrganizations/org1.svc.cluster.local/peers/peer1.org1.svc.cluster.local/tls/ca.crt
export ORDERER_CA=/etc/hyperledger/artifacts/ordererOrganizations/ord.svc.cluster.local/orderers/orderer1.ord.svc.cluster.local/msp/tlscacerts/tlsca.ord.svc.cluster.local-cert.pem
export CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/artifacts/peerOrganizations/org1.svc.cluster.local/users/Admin@org1.svc.cluster.local/msp

Сведения об узле Org2

export CORE_PEER_ID=peer1.org2.svc.cluster.local
export CORE_PEER_ADDRESS=peer1.org2.svc.cluster.local:7051
export CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.svc.cluster.local:7051
export CORE_PEER_LOCALMSPID=Org2MSP
export CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/artifacts/peerOrganizations/org2.svc.cluster.local/peers/peer1.org2.svc.cluster.local/tls/ca.crt
export ORDERER_CA=/etc/hyperledger/artifacts/ordererOrganizations/ord.svc.cluster.local/orderers/orderer1.ord.svc.cluster.local/msp/tlscacerts/tlsca.ord.svc.cluster.local-cert.pem
export CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/artifacts/peerOrganizations/org2.svc.cluster.local/users/Admin@org2.svc.cluster.local/msp
export CH_NAME=mychannel

Сведения о заказчике

export ORDERER_CONTAINER=orderer1.ord.svc.cluster.local:7050
export CH_NAME=mychannel
export CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/artifacts/ordererOrganizations/ord.svc.cluster.local/users/Admin@ord.svc.cluster.local/msp
export ORDERER_CA="/etc/hyperledger/artifacts/ordererOrganizations/ord.svc.cluster.local/orderers/orderer1.ord.svc.cluster.local/msp/tlscacerts/tlsca.ord.svc.cluster.local-cert.pem"
export CORE_PEER_ADDRESS=orderer1.ord.svc.cluster.local:7050
export CORE_PEER_LOCALMSPID=OrdererMSP

Не могли бы вы сообщить мне, если мне нужны дополнительные сведения установить перед подписанием сделки? Подскажите, пожалуйста, как я могу решить эту проблему.

Заранее спасибо.

1 Ответ

0 голосов
/ 05 мая 2020
error authorizing update: error validating DeltaSet: policy for [Value]  /Channel/Capabilities not satisfied: implicit policy evaluation failed - 1 sub-policies were satisfied, but this policy requires 2 of the 'Admins' sub-policies to be satisfied.

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

Кажется, что в канале присутствует более двух организаций

Обратите внимание, что config_update_in_envelope.pb - это обновленный файл конфигурации, который должен быть подписан большинством администраторов организации.

Вам необходимо изменить контекст организации и подписаться с использованием всех администраторов большинства

Есть ли способ проверить список подписанных организаций перед обновлением однорангового канала: попробуйте использовать приведенный ниже фрагмент

const mySig = this.client.signChannelConfig(updated_config)
mySig.toString('utf8');
...