授权更新时出错:验证DeltaSet:策略[Value]/Channel/Capabilities时出错



我正在尝试在我们的一个频道上将功能更新为V2_0。我们的频道有两个Org。我们有一个CLI容器,它拥有所有组织的凭据。我使用peer channel signconfigtx -f config_update_in_envelope.pb使用组织1、组织2的管理员凭据对更新进行签名,并使用订购方组织凭据执行CCD_ 2。我可以看到,在使用Org1和Org2的管理凭据对文件config_update_in_envelope.pb进行签名后,文件的大小越来越大。在签署更新时,我使用了每个组织的CORE_PEER_MSPCONFIGPATHCORE_PEER_LOCALMSPIDCORE_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

在我签署交易之前,你能告诉我是否还有更多的细节需要设置吗?。请指导我如何解决这个问题。

提前感谢。

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');

相关内容

  • 没有找到相关文章

最新更新