Hyperledger fabric Orderer在我尝试批准链代码时收到拒绝的权限



我正在努力使系统正常运行,在本教程-之后

https://hyperledger-fabric.readthedocs.io/en/release-2.0/build_network.html

在我的情况下,Hyperledger Fabric组件在Kubernetes上运行时,我正在运行包含fabric工具的pod中的所有命令:2.0。

据我所知,我成功地正确运行了所有的pod和服务。我成功了要创建genesis.block,创建网络,将对等方加入网络,在每个对等方上打包并安装链代码,并接收mycc密钥,如教程中所述。

当我尝试批准链代码-时,问题就开始了

peer lifecycle chaincode approveformyorg --channelID $CHANNEL_NAME --name mycc --version 1.0 --init-required --package-id $CC_PACKAGE_ID --sequence 1

当我运行它时,我会收到以下消息-

2020-04-15 18:39:04.743 IDT [cli.lifecycle.chaincode] setOrdererClient -> INFO 001 Retrieved channel (orderer-system-channel) orderer endpoint: orderer:31010
Error: timed out waiting for txid on all peers

以及订购者日志中的一些错误-(implicit policy evaluation failed - 0 sub-policies were satisfied, but this policy requires 1 of the 'Readers' sub-policies to be satisfied: permission denied)

2020-04-15 18:41:24.595 IDT[comm.grpc.server]1->INFO 2bd流调用已完成grpc.service=orderer.AtomicBroadcastgrpc.method=交付grpc.peerAddress=172.17.0.14:36484 grpc.code=确定grpc.call_duration=2.180654ms 2020-04-15 18:41:34.574 IDT[common.delivery]deliveryBlocks->WARN 2be[channel:orderer system channel]取消了交付的客户端授权来自172.17.0.15:42520的请求:隐式策略评估失败-0满足子策略,但此策略需要满足"读者"子政策:许可被拒绝2020-04-1518:41:34.574 IDT[comm.grpc.server]1->INFO 2bf流式呼叫已完成grpc.service=orderer.AtomicBroadcastgrpc.method=交付grpc.peer_address=172.17.0.15:42520 grpc.code=OKgrpc.call_duration=1.918542ms 2020-04-15 18:41:45.865 IDT[common.delivery]deliveryBlocks->WARN 2c0[渠道:orderer system channel]取消了交付的客户端授权来自172.17.0.16:36710的请求:隐式策略评估失败-0满足子策略,但此策略需要满足"读者"子政策:许可被拒绝2020-04-1518:41:45.865 IDT[comm.grpc.server]1->INFO 2c1流式呼叫已完成grpc.service=orderer.AtomicBroadcastgrpc.method=交付grpc.peer_address=172.17.0.16:36710 grpc.code=OKgrpc.call_duration=3.452952毫秒2020-04-15 18:41:55.196 IDT[common.delivery]deliveryBlocks->WARN 2c2[channel:orderer system channel]取消了交付的客户端授权来自172.17.0.17:53220的请求:隐式策略评估失败-0满足子策略,但此策略需要满足"读者"子政策:许可被拒绝2020-04-1518:41:55.196 IDT[comm.grpc.server]1->INFO 2c3流式呼叫已完成grpc.service=orderer.AtomicBroadcastgrpc.method=交付grpc.peer_address=172.17.0.17:53220 grpc.code=OKgrpc.call_duration=1.084932ms 2020-04-15 18:42:08.194 IDT[orderer.common.broach]Handle->WARN 2c4读取时出错172.17.0.11:50106:rpc错误:code=取消desc=上下文取消2020-04-15 18:42:08.194 IDT[comm.grpc.server]1->INFO 2c5流调用已完成grpc.service=orderer.AtomicBroadcastgrpc.method=广播grpc.peerAddress=172.17.0.11:50106 error="rpc错误:code=取消desc=上下文取消"grpc.code=取消grpc.call_duration=30.451678366s 2020-04-15 18:42:22.760 IDT[common.delivery]deliveryBlocks->WARN 2c6[渠道:orderer system channel]取消了交付的客户端授权来自172.17.0.18:43404的请求:隐式策略评估失败-0满足子策略,但此策略需要满足"读者"子政策:许可被拒绝2020-04-1518:42:22.760 IDT[comm.grpc.server]1->INFO 2c7流式呼叫已完成grpc.service=orderer.AtomicBroadcastgrpc.method=交付grpc.peer_address=172.17.0.18:43404 grpc.code=OKgrpc.call_duration=962.109µs 2020-04-15 18:42:33.165 IDT[common.delivery]deliveryBlocks->WARN 2c8[渠道:orderer system channel]取消了交付的客户端授权来自172.17.0.19:56570的请求:隐式策略评估失败-0满足子策略,但此策略需要满足"读者"子策略:拒绝权限

Org1Peer1日志-

2020-04-18 14:01:44.999 IDT〔peer〕getLocalAddress->INFO 003自动检测到的对等地址:172.17.0.14:30110 2020-04-18 14:01:44.999设置了IDT[peer]getLocalAddress->INFO 004自动检测标志,返回172.17.0.14:30110 2020-04-18 14:01:45.194 IDT[niggles.service]新建->INFO 005用端点初始化nigglessorg1peer1 svc:30110 2020-04-18 14:01:45.194 IDT[八卦.八卦]新建->INFO 006使用Endpoint的自成员身份创建八卦服务:org1peer1 svc:30110,内部终结点:org1peer1svc:3010,PKI-ID:51b25e96fadae28a11006feffffc06ff47d1cb25bef7c82a04c36c4ddb20e9f9,元数据:2020-04-18 14:01:45.195 IDT[八卦.八卦]开始->信息007绯闻实例org1peer1 svc:30110已启动2020-04-1814:01:45.196 IDT[ledgermgmt]NewLedgerMgr->信息008正在初始化LedgerMgr 2020-04-18 14:01:45.478 IDT[leveldbhelper]openDBAndCheckFormat->INFO 009数据库为空将数据库格式设置为2.02020-04-18 14:01:45.503 IDT[fsblkstorage]NewProvider->INFO 00a正在创建新的文件分类帐目录/var/hyperledger/生产/分类账数据/链/链2020-04-1814:01:45.647 IDT[leveldbhelper]openDBAndCheckFormat->INFO 00b DB为空将数据库格式设置为2.0 2020-04-18 14:01:45.888 IDT[couchdb]handleRequest->WARN 00c在125ms内重试couchdb请求。尝试:1错误:Gethttp://localhost:5984/:拨号tcp[::1]:5984:连接:无法分配请求的地址2020-04-18 14:01:46.017 IDT[couchdb]handleRequest->WARN 00d在250毫秒内重试couchdb请求。尝试:2错误:Gethttp://localhost:5984/:拨号tcp[::1]:5984:连接:无法分配请求的地址2020-04-18 14:01:46.329 IDT[couchdb]handleRequest->WARN 00e在500ms内重试couchdb请求。尝试:3错误:Gethttp://localhost:5984/:拨号tcp 127.0.0.1:5984:连接:连接被拒绝2020-04-18 14:01:46.830 IDT[couchdb]handleRequest->WARN 00f在1秒内重试couchdb请求。尝试次数:4错误:获取http://localhost:5984/:拨号tcp[::1]:5984:连接:无法分配请求的地址2020-04-18 14:01:47.952 IDT[couchdb]handleRequest->WARN 010在2秒内重试couchdb请求。尝试次数:5错误:获取http://localhost:5984/:拨号tcp 127.0.0.1:5984:连接:连接被拒绝2020-04-18 14:01:49.954 IDT[couchdb]handleRequest->警告011在4秒内重试couchdb请求。尝试次数:6错误:Gethttp://localhost:5984/:拨号tcp 127.0.0.1:5984:连接:连接拒绝2020-04-18 14:01:53.955 IDT[couchdb]手柄请求->警告012正在8s中重试couchdb请求。尝试次数:7错误:Gethttp://localhost:5984/:拨号tcp 127.0.0.1:5984:连接:连接拒绝2020-04-18 14:02:01.956 IDT[couchdb]手柄请求->警告013正在16秒内重试couchdb请求。尝试次数:8错误:Gethttp://localhost:5984/:拨号tcp 127.0.0.1:5984:连接:连接拒绝2020-04-18 14:02:23.678 IDT[couchdb]CreateDatabaseIfNotExist->INFO 014创建状态数据库_users 2020-04-18 14:02:24.613 IDT[couchdb]CreateDatabaseIfNotExist->INFO 015创建状态数据库_复制器2020-04-18 14:02:26.355 IDT[couchdb]创建数据库IfNotExist->INFO 016创建状态数据库制造商_内部2020-04-18 14:02:26.939 IDT[ledgermgmt]新LedgerMgr->INFO 017已初始化LedgerMgr 2020-04-18 14:02:26.940 IDT[生命周期]InitializeLocalChaincodes->INFO 018已初始化已安装0个链代码的生命周期缓存2020-04-1814:02:26.940 IDT[nodeCmd]computeChaincodeEndpoint->信息019正在使用peerHostname输入computeChaincodeEndpoint:172.17.0.142020-04-18 14:02:26.940 IDT[nodeCmd]computeChaincodeEndpoint->信息01a使用ccEndpoint退出:172.17.0.14:7052 2020-04-18 14:02:26.940 IDT[nodeCmd]createChaincodeServer->警告01bpeer.chaincodeListenAddress未设置,使用172.17.0.14:70522020-04-18 14:02:26.944 IDT[sccapi]DeploySysCC->INFO 01c部署系统链代码'lscc'2020-04-18 14:02:26.944 IDT[sccapi]DeploySysCC->INFO 01d部署系统链代码"cscc"2020-04-1814:02:26.945 IDT[sccapi]DeploySysCC->INFO 01e部署系统链代码"qscc"2020-04-18 14:02:26.945 IDT[sccapi]DeploySysCC->INFO 01f部署系统链代码">生命周期"2020-04-114:02:26.945 IDT[nodeCmd]serve->INFO 020已部署系统链代码2020-04-18 14:02:26.945 IDT[发现]新服务->信息021使用配置TLS创建:false,authCacheMaxSize:1000,authCachePurgeRatio:0.750000 2020-04-18 14:02:26.945 IDT[nodeCmd]registerDiscoveryService->信息022发现服务已激活2020-04-18 14:02:26.945 IDT[nodeCmd]serve->INFO 023启动对等ID=[org1peer1-svc]、网络ID=[nid1],address=[172.17.0.14:30110]2020-04-18 14:02:26.945 IDT[nodeCmd]serve->INFO 024已启动ID为[org1peer1 svc]的对等机,网络ID=[nid1],地址=[172.17.0.14:3010]2020-04-18 14:02:26.945 IDT[nodeCmd]func6->INFO 025正在用启动分析服务器listenAddress=0.0.0.0:6060 2020-04-18 14:02:26.945 IDT[kvledge]LoadPreResetHeight->信息026从路径加载预设置高度[/var/hyperbledger/production/lodgersData/chains]22020-04-1814:02:26.945 IDT[fsblkstorage]preResetHtFiles->INFO 027无活动通道通过2020-04-18 14:06:24.02 IDT[ledgermgmt]CreateLedger->信息028正在创建带有genesis块2020-04-18 14:06:23.450 IDT[fsblkstorage]newBlockfileMgr->INFO 029从块存储2020-04-14获取块信息14:06:24.348 IDT[couchdb]创建数据库IfNotExist->INFO 02a已创建状态数据库订购者系统通道2020-04-18 14:06:25.986IDT[couchdb]创建数据库IfNotExist->INFO 02b创建状态数据库订单-系统-通道_lifecycle 2020-04-18 14:06:27.177 IDT[kvledger]CommitLegacy->INFO 02c[订单系统通道]Committed1153ms内有1个事务的块[0](state_validation=0msblock_and_pvtdata_commit=100ms state_commit=1026ms)commitHash=[]2020-04-18 14:06:27.210 IDT[ledgermgmt]创建分类账->信息02d创建了带有创世纪区块的分类账[订单系统渠道]2020-04-1814:06:27.587 IDT[八卦.八卦]加入聊天->信息02e加入八卦渠道订购者系统网络3个组织的渠道2020-04-18 14:06:27.587 IDT〔八卦.八卦〕learnAnchorPeers->信息02f没有为通道配置Org2MSP的锚定对等端订购方系统渠道了解2020-04-18 14:06:27.587 IDT[八卦八卦]learnAnchorPeers->信息030未配置锚渠道订购者系统渠道的Org3MSP同行了解2020-04-18 14:06:27.587 IDT〔八卦.八卦〕learnAnchorPeers->信息031没有为通道配置Org1MSP的锚定对等端订购方系统渠道了解2020-04-18 14:06:27.590 IDT〔gossips.state〕NewGossipsStateProvider->INFO 032更新元数据渠道订购者系统渠道的信息,当前分类帐序列为=0,下一个预期区块为=1 2020-04-18 14:06:27.590IDT〔endorser〕callChaincode->INFO 033已完成链代码:cscc持续时间:4192ms channel=txID=22d5a6a6 2020-04-18 14:06:27.590 IDT[comm.grpc.server]1->INFO 034一元调用完成grpc.service=protos.背书人grpc.method=ProcessProposalgrpc.peer_address=172.17.0.11:6502 grpc.code=OKgrpc.call_duration=4.2005007752s 2020-04-18 14:06:33.591 IDT〔八卦.选举〕beLeader->信息03551b25e96fadae28a11006feffffc06ff47d1cb25bef82a04c36c4ddb20e9f9:成为领导者2020-04-18 14:06:33.591 IDT[八卦.服务]功能1->INFO 036当选为领导者,开始为渠道订购者系统渠道提供配送服务2020-04-18 14:06:33.591 IDT〔deliveryClient〕StartDeliverForChannel->信息037此对等方将从订购服务并传播给组织中的其他同行对于渠道订购者系统渠道2020-04-18 14:06:33.596 IDT[peer.blocksprovider]func1->WARN 038读取时遇到错误来自交付流:EOF通道=订购方系统通道订购者地址=订购者:31010 2020-04-18 14:06:33.596 IDT[peer.blocksprovider]DeliverBlocks->WARN 039在尝试接收块:接收到来自的错误状态FORBIDDEN订购者通道=订购者系统通道订购者地址=订购者:310102020-04-18 14:06:34.915 IDT[peer.blocksprovider]DeliverBlocks->WARN 047尝试接收块时出错:接收错误订单方通道的状态FORBIDDEN=订单方系统通道订购方地址=订购方:31010 2020-04-18 14:06:35.276 IDT[peer.blocksprovider]func1->WARN 048读取时遇到错误来自交付流:EOF通道=订购方系统通道订购方地址=订购方:31010 2020-04-18 14:06:35.276 IDT[peer.blocksprovider]DeliverBlocks->WARN 049在尝试接收块:接收到来自的错误状态FORBIDDEN订购者通道=订购者系统通道订购者地址=订购者:310102020-04-18 14:06:35.708 IDT[peer.blocksprovider]函数1->警告04a读取传递流时遇到错误:EOFchannel=订购者系统channel订购者地址=订购者:310102020-04-18 14:06:35.708 IDT[peer.blocksprovider]DeliverBlocks->WARN 04b尝试接收块时出错:接收到错误订单方通道的状态FORBIDDEN=订单方系统通道订购者地址=订购者:31010 2020-04-18 14:06:36.228 IDT[peer.blocksprovider]func1->WARN 04c读取时遇到错误来自交付流:EOF通道=订购方系统通道订购者地址=订购者:31010 2020-04-18 14:06:36.228 IDT[peer.blocksprovider]DeliverBlocks->WARN 04d在尝试接收块:接收到来自的错误状态FORBIDDEN订购者通道=订购者系统通道订购者地址=订购者:310102020-04-18 14:06:36.881 IDT[peer.blocksprovider]函数1->WARN 04e读取传递流时遇到错误:EOFchannel=订购者系统channel订购者地址=订购者:310102020-04-18 14:06:36.882 IDT[peer.blocksprovider]DeliverBlocks->WARN 04f尝试接收块时出错:接收到错误订单方通道的状态FORBIDDEN=订单方系统通道订购方地址=订购方:31010 2020-04-18 14:06:37.627 IDT[peer.blocksprovider]func1->WARN 050读取时遇到错误来自交付流:EOF通道=订购方系统通道订购方地址=订购方:31010 2020-04-18 14:06:37.627 IDT[peer.blocksprovider]DeliverBlocks->WARN 051在尝试接收块:接收到来自的错误状态FORBIDDEN订购者通道=订购者系统通道订购者地址=订购者:310102020-04-18 14:06:44.281 IDT[peer.blocksprovider]函数1->警告05a读取传递流时遇到错误:EOFchannel=订购者系统channel订购者地址=订购者:310102020-04-18 14:06:44.281 IDT[peer.blocksprovider]DeliverBlocks->WARN 05b尝试接收块时出错:接收到错误订单方通道的状态FORBIDDEN=订单方系统通道订购方地址=订购方:31010 2020-04-18 14:06:46.501 IDT[peer.blocksprovider]func1->WARN 05c读取时遇到错误来自交付流:EOF通道=订购方系统通道订购方地址=订购方:31010 2020-04-18 14:06:46.501 IDT[peer.blocksprovider]DeliverBlocks->WARN 05d在尝试接收块:接收到来自的错误状态FORBIDDEN订购者通道=订购者系统通道订购者地址=订购者:310102020-04-18 14:06:56.200 IDT[peer.blocksprovider]函数1->警告062读取传递流时遇到错误:EOFchannel=订购者系统channel订购者地址=订购者:310102020-04-18 14:06:56.200 IDT[peer.blocksprovider]DeliverBlocks->WARN 063尝试接收块时出错:接收错误订单方通道的状态FORBIDDEN=订单方系统通道订购方地址=订购方:31010 2020-04-18 14:07:00.802 IDT[peer.blocksprovider]DeliverBlocks->WARN 065在尝试接收块:接收到来自的错误状态FORBIDDEN订购者通道=订购者系统通道订购者地址=订购者:310102020-04-18 14:07:00-002 IDT[peer.blocksprovider]函数1->警告064读取传递流时遇到错误:EOFchannel=订购者系统channel订购者地址=订购者:310102020-04-18 14:07:06.324 IDT[peer.blocksprovider]函数1->警告066读取传递流时遇到错误:EOFchannel=订购者系统channel订购者地址=订购者:310102020-04-18 14:07:06.324 IDT[peer.blocksprovider]DeliverBlocks->WARN 067尝试接收块时出错:接收错误订单方通道的状态FORBIDDEN=订单方系统通道订购方地址=订购方:31010 2020-04-18 14:07:12.954 IDT[peer.blocksprovider]func1->WARN 068读取时遇到错误来自交付流:EOF通道=订购方系统通道订购方地址=订购方:31010 2020-04-18 14:07:12.954 IDT[peer.blocksprovider]DeliverBlocks->WARN 069在尝试接收块:接收到来自的错误状态FORBIDDEN订购者通道=订购者系统通道订购者地址=订购者:310102020-04-18 14:07:20.906 IDT[peer.blocksprovider]函数1->WARN 06a读取传递流时遇到错误:EOFchannel=订购者系统channel订购者地址=订购者:310102020-04-18 14:07:20.906 IDT[peer.blocksprovider]DeliverBlocks->WARN 06b尝试接收块时出错:接收到错误订单方通道的状态FORBIDDEN=订单方系统通道订购者地址=订购者:31010 2020-04-18 14:07:30.449 IDT[peer.blocksprovider]func1->WARN 06c读取时遇到错误来自交付流:EOF通道=订购方系统通道订购者地址=订购者:31010 2020-04-18 14:07:30.449 IDT[peer.blocksprovider]DeliverBlocks->WARN 06d在尝试接收块:接收到来自的错误状态FORBIDDEN订购者通道=订购者系统通道订购者地址=订购者:310102020-04-18 14:07:41.899 IDT[peer.blocksprovider]函数1->警告06e读取传递流时遇到错误:EOFchannel=订购者系统channel订购者地址=订购者:310102020-04-18 14:07:41.899 IDT[peer.blocksprovider]DeliverBlocks->WARN 06f尝试接收块时出错:接收到错误订单方通道的状态FORBIDDEN=订单方系统通道订购者地址=订购者:31010 2020-04-18 14:07:55.641 IDT[peer.blocksprovider]func1->WARN 070读取时遇到错误来自交付流:EOF通道=订购方系统通道订购者地址=订购者:31010 2020-04-18 14:07:55.641 IDT[peer.blocksprovider]DeliverBlocks->WARN 071在尝试接收块:接收到来自的错误状态FORBIDDEN订购者通道=订购者系统通道订购者地址=订购者:310102020-04-18 14:08:12.129 IDT[peer.blocksprovider]函数1->警告072读取传递流时遇到错误:EOFchannel=订购者系统channel订购者地址=订购者:310102020-04-18 14:08:12.129 IDT[peer.blocksprovider]DeliverBlocks->WARN 073尝试接收块时出错:接收到错误订单方通道的状态FORBIDDEN=订单方系统通道订购者地址=订购者:31010 2020-04-18 14:08:31.916 IDT[peer.blocksprovider]func1->WARN 074读取时遇到错误来自交付流:EOF通道=订购方系统通道订购者地址=订购者:31010 2020-04-18 14:08:31.916 IDT[peer.blocksprovider]DeliverBlocks->WARN 075在尝试接收块:接收到来自的错误状态FORBIDDEN订购者通道=订购者系统通道订购者地址=订购者:310102020-04-18 14:08:55.657 IDT[peer.blocksprovider]函数1->警告076读取传递流时遇到错误:EOFchannel=订购者系统channel订购者地址=订购者:310102020-04-18 14:09:28.078 IDT〔生命周期〕InstallChaincode->INFO 07a已成功安装包ID为的链代码'mycc_1:265208bde42d32cc07779c963ccfa379439f1ac64a813bf701e530ff08bae13'2020-04-18 14:09:28.078 IDT[背书人]呼叫Chaincode->信息07b已完成链代码:_lifecycle持续时间:702ms channel=txID=6cf67d2f2020-04-18 14:09:28.078 IDT[comm.grpc.server]1->INFO 07c一元调用已完成grpc.service=protos.背书人grpc.method=ProcessProposal grpc.peerAddress=172.17.0.11:34596grpc.code=正常grpc.call_duration=724.177501ms 2020-04-18 14:09:28.551IDT〔endorser〕callChaincode->INFO 07d已完成链代码:_生命周期持续时间:0ms channel=txID=f5998634 2020-04-18 14:09:28.551 IDT[comm.grpc.server]1->INFO 07e一元调用完成grpc.service=protos.背书人grpc.method=ProcessProposalgrpc.peer_address=172.17.0.11:34628 grpc.code=OKgrpc.call_duration=1.714696ms 2020-04-18 14:09:58.337 IDT[peer.blocksprovider]func1->WARN 07f读取时遇到错误来自交付流:EOF通道=订购方系统通道订购者地址=订购者:31010 2020-04-18 14:09:58.337 IDT[peer.blocksprovider]DeliverBlocks->WARN 080在尝试接收块:接收到来自的错误状态FORBIDDEN订购者通道=订购者系统通道订购者地址=订购者:310102020-04-18 14:10:39.363 IDT[peer.blocksprovider]函数1->警告081读取传递流时遇到错误:EOFchannel=订购者系统channel订购者地址=订购者:310102020-04-18 14:10:39.363 IDT[peer.blocksprovider]DeliverBlocks->WARN 082尝试接收块时出错:收到错误订单方通道的状态FORBIDDEN=订单方系统通道订购方地址=订购方:31010 2020-04-18 14:10:49.169 IDT[背书人]callChaincode->INFO 083已完成链代码:cscc持续时间:0mschannel=txID=e48c516f 2020-04-18 14:10:49.169 IDT[comm.grpc.server]1->INFO 084一元调用已完成grpc.service=protos.背书人grpc.method=ProcessProposal grpc.peerAddress=172.17.0.11:35566grpc.code=正常grpc.call_duration=1.250385ms 2020-04-18 14:10:51.147 IDT[couchdb]CreateDatabaseIfNotExist->INFO 085已创建状态数据库订单-系统-通道_ lscc 2020-04-18 14:10:52.347 IDT[couchdb]CreateDatabaseIfNotExist->INFO 086已创建状态数据库orderer-system-channel_lifecycle$p_implicit_org_$org1$m$s$p2020-04-18 14:10:53.267 IDT[couchdb]创建数据库IfNotExist->INFO087已创建状态数据库orderer-system-channel_lifecycle$$h_inimplicit_org_$org1$m$s$p2020-04-18 14:10:53.453 IDT[生命周期]ApproveChaincodeDefinitionForOrg->INFO 088成功背书名称为"mycc"、程序包ID的链代码审批'mycc_1:265208bde42d32cc07779c963ccfa379439f1ac64a813bf701e530ff08bae13',在具有定义{sequence:1,背书信息:(版本:"1.0",插件:"escc",需要init:true),验证信息:(插件:"vscc",策略:’12202f4368616e6e656c2f4170706c69636174696f6e2f456e646f7273656d656e74’),集合:()}2020-04-18 14:10:53.453 IDT〔背书人〕callChaincode->信息089已完成链代码:_lifecycle持续时间:4204ms channel=订购者系统通道txID=d913be80 2020-04-18 14:10:53.485IDT[comm.grpc.server]1->INFO 08a一元调用完成grpc.service=protos.背书人grpc.method=ProcessProposalgrpc.peer_address=172.17.0.11:35566 grpc.code=OKgrpc.call_duration=4.236358061s 2020-04-18 14:11:23.486 IDT[comm.grpc.server]1->INFO 08b流式呼叫完成grpc.service=protos.Deliver grpc.method=DeliverFilteredgrpc.request_deadline=2020-04-18T14:11:23.485+03:00grpc.peerAddress=172.17.0.11:35568错误="上下文在之前完成检索到块:上下文已取消"grpc.code=未知grpc.call_duration=29.988290354s 2020-04-18 14:11:28.591 IDT[peer.blocksprovider]func1->WARN 08c读取时遇到错误来自交付流:EOF通道=订购方系统通道订购者地址=订购者:31010 2020-04-18 14:11:28.591 IDT[peer.blocksprovider]DeliverBlocks->WARN 08d在尝试接收块:接收到来自的错误状态FORBIDDEN订购者通道=订购者系统通道订购者地址=订购者:31010

可能是什么问题?

用于创建系统的脚本-

kubectl exec -it fabric-tools -- /bin/bash
cryptogen generate --config /fabric/config/crypto-config.yaml &&
cp -r crypto-config /fabric/ &&
for file in $(find /fabric/ -iname *_sk); do echo $file; dir=$(dirname $file); mv ${dir}/*_sk ${dir}/key.pem; done &&
cp /fabric/config/configtx.yaml /fabric/ &&
cd /fabric &&
configtxgen -profile FourOrgsOrdererGenesis -outputBlock genesis.block -channelID kafka-orderer-channel &&
configtxgen -profile FourOrgsChannel -outputCreateChannelTx orderer-system-channel.tx -channelID orderer-system-channel &&
configtxgen -profile FourOrgsChannel -outputAnchorPeersUpdate ./Org1MSPanchors.tx -channelID orderer-system-channel -asOrg Org1MSP &&
configtxgen -profile FourOrgsChannel -outputAnchorPeersUpdate ./Org2MSPanchors.tx -channelID orderer-system-channel -asOrg Org2MSP &&
configtxgen -profile FourOrgsChannel -outputAnchorPeersUpdate ./Org3MSPanchors.tx -channelID orderer-system-channel -asOrg Org3MSP &&
cd .. &&
chmod a+rx /fabric/* -R 

创建链代码-

cd /fabric &&
export CHANNEL_NAME="orderer-system-channel" &&
export ORDERER_URL="orderer:31010" &&
export CORE_PEER_ADDRESSAUTODETECT="false" &&
export CORE_PEER_NETWORKID="nid1" &&
export CORE_PEER_LOCALMSPID="Org1MSP" &&
export CORE_PEER_ADDRESS="org1peer1-svc:30110" &&
export CORE_PEER_MSPCONFIGPATH="/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" &&
export FABRIC_CFG_PATH="/etc/hyperledger/fabric" &&
peer channel create -o ${ORDERER_URL} -c ${CHANNEL_NAME} -f /fabric/${CHANNEL_NAME}.tx &&
chmod a+rx /fabric/* -R 

加入渠道的同行(所有组织都一样)-

export CHANNEL_NAME="orderer-system-channel" &&
export CORE_PEER_NETWORKID="nid1" &&
export ORDERER_URL="orderer:31010" &&
export FABRIC_CFG_PATH="/etc/hyperledger/fabric" &&
export CORE_PEER_LOCALMSPID="Org1MSP" &&
export CORE_PEER_MSPID="Org1MSP" &&
export CORE_PEER_MSPCONFIGPATH="/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" &&
export CORE_PEER_ADDRESS="org1peer1-svc:30110" &&
peer channel fetch newest -o ${ORDERER_URL} -c ${CHANNEL_NAME} &&
chmod a+rx /fabric/* -R &&
peer channel join -b ${CHANNEL_NAME}_newest.block &&
sleep 5 &&
export CORE_PEER_ADDRESS="org1peer2-svc:30110" &&
peer channel fetch newest -o ${ORDERER_URL} -c ${CHANNEL_NAME} &&
peer channel join -b ${CHANNEL_NAME}_newest.block 

包装链码-

cp -r /fabric/config/chaincode $GOPATH/src/ &&
cd /go/src/chaincode &&
GO111MODULE=on go mod vendor &&
cd /fabric &&
chmod a+rx /go/* -R &&
peer lifecycle chaincode package mycc.tar.gz --path /go/src/chaincode/ --lang golang --label mycc_1 &&
chmod a+rx /fabric/* -R 

安装链码-

export CHAINCODE_VERSION="1.0" &&
export FABRIC_CFG_PATH="/etc/hyperledger/fabric" &&
export CORE_PEER_MSPCONFIGPATH="/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" &&
export CORE_PEER_LOCALMSPID="Org1MSP" &&
export CORE_PEER_ADDRESS="org1peer1-svc:30110" &&
peer lifecycle chaincode install mycc.tar.gz &&
peer lifecycle chaincode queryinstalled &&
export CORE_PEER_ADDRESS="org1peer2-svc:30110" &&
peer lifecycle chaincode install mycc.tar.gz &&
peer lifecycle chaincode queryinstalled 

并试图批准链代码-

export CHANNEL_NAME="orderer-system-channel" &&
export CORE_PEER_NETWORKID="nid1" &&
export ORDERER_URL="orderer:31010" &&
export FABRIC_CFG_PATH="/etc/hyperledger/fabric"
export CC_PACKAGE_ID=mycc_1:265208bde42d32cc07779c963ccfa379439f1ac64a813bf701e5309ff08bae13 &&
export CORE_PEER_LOCALMSPID="Org1MSP" &&
export CORE_PEER_MSPID="Org1MSP" &&
export CORE_PEER_MSPCONFIGPATH="/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" &&
export CORE_PEER_ADDRESS="org1peer1-svc:30110"
peer lifecycle chaincode approveformyorg --channelID $CHANNEL_NAME --name mycc --version 1.0 --init-required --package-id $CC_PACKAGE_ID --sequence 1

对我来说,这个问题是由权限问题引起的。检查你的同行和订购者日志,你似乎有一些沟通问题,我认为你的情况可能与我解决这个问题的情况类似。请注意,这个问题可能还包含有用的指针。

无论如何,我的建议是如下设置策略并重新生成初始工件。这应该可以解决您的通信问题和链代码生命周期错误:

在您的configtx.yaml中,您应该按如下方式设置您的组织权限:

- &Org1
Name: Org1MSP
ID: Org1MSP
MSPDir: crypto-config/peerOrganizations/org1.example.com/msp
Policies:
Readers:
Type: Signature
Rule: "OR('Org1MSP.member')"
Writers:
Type: Signature
Rule: "OR('Org1MSP.member')"
Admins:
Type: Signature
Rule: "OR('Org1MSP.admin')"
Endorsement:
Type: Signature
Rule: "OR('Org1MSP.member')"
AnchorPeers:
- Host: peer0.org1.example.com
Port: 7051
- &Org2
Name: Org2MSP
ID: Org2MSP
MSPDir: crypto-config/peerOrganizations/org2.example.com/msp
Policies:
Readers:
Type: Signature
Rule: "OR('Org2MSP.member')"
Writers:
Type: Signature
Rule: "OR('Org2MSP.member')"
Admins:
Type: Signature
Rule: "OR('Org2MSP.admin')"
Endorsement:
Type: Signature
Rule: "OR('Org2MSP.member')"
AnchorPeers:
- Host: peer0.org2.example.com
Port: 9051

之后:

  • 再生创世纪区块
  • 重新生成频道.tx
  • 重新启动网络
  1. 加入通道后查看对等方的日志。我认为同行加入频道失败了。请在对等日志中查看此错误消息:
2020-04-18 14:06:34.915 IDT [peer.blocksprovider] DeliverBlocks -> WARN 047 Got error while attempting to receive blocks: received bad status FORBIDDEN from orderer channel=orderer-system-channel orderer-address=orderer:31010 
2020-04-18 14:06:35.276 IDT [peer.blocksprovider] func1 -> WARN 048 Encountered an error reading from deliver stream: EOF channel=orderer-system-channel orderer-address=orderer:31010 
2020-04-18 14:06:35.276 IDT [peer.blocksprovider] DeliverBlocks -> WARN 049 Got error while attempting to receive blocks: received bad status FORBIDDEN from orderer channel=orderer-system-channel orderer-address=orderer:31010 
2020-04-18 14:06:35.708 IDT [peer.blocksprovider] func1 -> WARN 04a Encountered an error reading from deliver stream: EOF channel=orderer-system-channel orderer-address=orderer:31010 
2020-04-18 14:06:35.708 IDT [peer.blocksprovider] DeliverBlocks -> WARN 04b Got error while attempting to receive blocks: received bad status FORBIDDEN from orderer channel=orderer-system-channel orderer-address=orderer:31010 
2020-04-18 14:06:36.228 IDT [peer.blocksprovider] func1 -> WARN 04c Encountered an error reading from deliver stream: EOF channel=orderer-system-channel orderer-address=orderer:31010
2020-04-18 14:06:36.228 IDT [peer.blocksprovider] DeliverBlocks -> WARN 04d Got error while attempting to receive blocks: received bad status FORBIDDEN from orderer channel=orderer-system-channel orderer-address=orderer:31010 
2020-04-18 14:06:36.881 IDT [peer.blocksprovider] func1 -> WARN 04e Encountered an error reading from deliver stream: EOF channel=orderer-system-channel orderer-address=orderer:31010
  1. 如果加入通道成功,请确保您已在/fabric/config/crypto-config.yaml中启用NodeOU

例如:

PeerOrgs:
# ---------------------------------------------------------------------------
# Org1
# ---------------------------------------------------------------------------
- Name: Org1
Domain: org1.example.com
EnableNodeOUs: true

最新更新