创建新通道时出错“BAD_REQUEST -- 授权更新时出错:验证 DeltaSet 时出错”

M-A*_*man 5 hyperledger hyperledger-fabric

我尝试手动创建first-network而不是使用 byfn.sh 脚本,当我尝试在 cli 容器中创建通道时。

peer channel create -o orderer.example.com:7050 -c mychannel -f ./channel-artifacts/channel.tx --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Error: got unexpected status: BAD_REQUEST -- error authorizing update: error validating DeltaSet: policy for [Group]  /Channel/Application not satisfied: Failed to reach implicit threshold of 1 sub-policies, required 1 remaining
Run Code Online (Sandbox Code Playgroud)

来自订购者的这个错误:

ERRO 008 Principal deserialization failure (the supplied identity is not valid: x509: certificate signed by unknown authority (possibly because of "x509: ECDSA verification failure" while trying to verify candidate authority certificate "ca.org1.example.com")) for identity 
Run Code Online (Sandbox Code Playgroud)

笔记:

如果我使用 byfn.sh 脚本它工作正常

我找到了这个

在 Hyperledger Fabric 中创建对等通道失败

hyperledger fabric first_network 示例创建通道得到 BAD_REQUEST

FABRIC 返回错误:出现意外状态:BAD_REQUEST问题

但我仍然不知道如何解决这个错误?

操作系统主机: ubuntu 16:04

超级账本结构版本: x86_64-1.1.0

sea*_*ean 3

如果仍然出现此错误,您可能已经尝试启动网络,然后重新开始。您需要删除旧的 docker 容器及其卷 - 它们可能会尝试重用,然后将使用旧的证书数据,从而导致错误unknown authority

以下是您想要用于 byfn.sh 或类似脚本的所有重置命令:

# STOP AND DELETE THE DOCKER CONTAINERS
docker ps -aq | xargs -n 1 docker stop
docker ps -aq | xargs -n 1 docker rm -v

# DELETE THE OLD DOCKER VOLUMES
docker volume prune

# DELETE OLD DOCKER NETWORKS (OPTIONAL: seems to restart fine without)
docker network prune

# DELETE SCRIPT-CREATED FILES
rm -rf channel-artifacts/*.block channel-artifacts/*.tx crypto-config
rm -f docker-compose-e2e.yaml

# VERIFY RESULTS
docker ps -a
docker volume ls
ls -l
Run Code Online (Sandbox Code Playgroud)