首页 > 解决方案 > 当我尝试批准链码时,Hyperledger Fabric Orderer 收到权限被拒绝

问题描述

我正在尝试使系统正常运行,按照本教程进行操作 -

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

在我的情况下,Hyperledger Fabric 组件在 Kubernetes 上运行,并且我从包含 fabric-tool:2.0 的 pod 中运行所有命令。

据我了解,我成功地正确运行了所有 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

以及 Orderer 日志中的一些错误 - ( 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.AtomicBroadcast grpc.method=Deliver grpc.peer_address=172.17.0.14:36484 grpc.code =OK grpc.call_duration=2.180654ms 2020-04-15 18:41:34.574 IDT [common.deliver] DeliverBlocks -> WARN 2be [channel: orderer-system-channel] 客户授权已撤销,来自 172.17.0.15:42520 的交付请求:隐式策略评估失败 - 满足 0 个子策略,但此策略需要满足 1 个“读者”子策略:权限被拒绝 2020-04-15 18:41:34.574 IDT [comm.grpc.server] 1 -> INFO 2bf 流式调用完成 grpc.service=orderer.AtomicBroadcast grpc.method=Deliver grpc.peer_address=172.17.0.15:42520 grpc.code=OK grpc.call_duration=1.918542ms 2020-04-15 18:41:45.865 IDT [常见。Deliver] DeliverBlocks -> WARN 2c0 [channel: orderer-system-channel] 从 172.17.0.16:36710 发送请求的客户端授权被撤销:隐式策略评估失败 - 满足 0 个子策略,但此策略需要 1 个“读者” ' 要满足的子策略:权限被拒绝 2020-04-15 18:41:45.865 IDT [comm.grpc.server] 1 -> INFO 2c1 流式调用已完成 grpc.service=orderer.AtomicBroadcast grpc.method=Deliver grpc。 peer_address=172.17.0.16:36710 grpc.code=OK grpc.call_duration=3.452952ms 2020-04-15 18:41:55.196 IDT [common.deliver] DeliverBlocks -> WARN 2c2 [channel: orderer-system-channel] 客户端授权从 172.17.0.17:53220 撤消传递请求:隐式策略评估失败 - 满足 0 个子策略,但此策略需要 1 个读者需要满足的子策略:permission denied 2020-04-15 18:41:55.196 IDT [comm.grpc.server] 1 -> INFO 2c3 流式调用完成 grpc.service=orderer.AtomicBroadcast grpc.method=Deliver grpc .peer_address=172.17.0.17:53220 grpc.code=OK grpc.call_duration=1.084932ms 2020-04-15 18:42:08.194 IDT [orderer.common.broadcast] 句柄 -> WARN 2c4 从 172.17.0.11:50106 读取错误:rpc 错误:代码 = 已取消 desc = 上下文已取消 2020-04-15 18:42:08.194 IDT [comm.grpc.server] 1 -> INFO 2c5 流式调用已完成 grpc.service=orderer.AtomicBroadcast grpc.method=Broadcast grpc .peer_address=172.17.0.11:50106 error="rpc 错误:代码 = 已取消 desc = 上下文已取消" grpc.code=已取消 grpc.call_duration=30.451678366s 2020-04-15 18:42:22.760 IDT [common.deliver] DeliverBlocks ->WARN 2c6 [channel: orderer-system-channel] 已撤销来自 172.17.0.18:43404 的交付请求的客户端授权:隐式策略评估失败 - 满足 0 个子策略,但此策略需要 1 个“读者”子策略满意:权限被拒绝 2020-04-15 18:42:22.760 IDT [comm.grpc.server] 1 -> INFO 2c7 流式调用已完成 grpc.service=orderer.AtomicBroadcast grpc.method=Deliver grpc.peer_address=172.17.0.18 :43404 grpc.code=OK grpc.call_duration=962.109µs 2020-04-15 18:42:33.165 IDT [common.deliver] DeliverBlocks -> WARN 2c8 [channel: orderer-system-channel] 客户授权已撤销,来自172.17.0.19:56570:隐式策略评估失败 - 满足 0 个子策略,但此策略需要 1 个“读者”要满足的子策略:权限被拒绝

Org1Peer1 日志 -

478 IDT [leveldbhelper] openDBAndCheckFormat -> INFO 009 DB 为空 将 db 格式设置为 2.0 2020-04-18 14:01:45.503 IDT [fsblkstorage] NewProvider -> INFO 00a 在 /var/hyperledger/production/ 创建新的文件分类帐目录ledgersData/chains/chains 2020-04-18 14:01:45.647 IDT [leveldbhelper] openDBAndCheckFormat -> INFO 00b DB 为空 将 db 格式设置为 2.0 2020-04-18 14:01:45.888 IDT [couchdb] handleRequest -> WARN 00c 在 125 毫秒内重试 couchdb 请求。尝试:1 错误:获取 INFO 00b DB 为空 将 db 格式设置为 2.0 2020-04-18 14:01:45.888 IDT [couchdb] handleRequest -> WARN 00c 在 125 毫秒内重试 couchdb 请求。尝试:1 错误:获取 INFO 00b DB 为空 将 db 格式设置为 2.0 2020-04-18 14:01:45.888 IDT [couchdb] handleRequest -> WARN 00c 在 125 毫秒内重试 couchdb 请求。尝试:1 错误:获取http://localhost:5984/ : dial tcp [::1]:5984: connect: cannot assign requested address 2020-04-18 14:01:46.017 IDT [couchdb] handleRequest -> WARN 00d retrying couchdb request in 250ms. 尝试:2 错误:获取http://localhost:5984/:拨打 tcp [::1]:5984:连接:无法分配请求的地址 2020-04-18 14:01:46.329 IDT [couchdb] handleRequest -> WARN 00e在 500 毫秒内重试 couchdb 请求。尝试:3 错误:获取http://localhost:5984/:拨打 tcp 127.0.0.1:5984:连接:连接被拒绝 2020-04-18 14:01:46.830 IDT [couchdb] handleRequest -> WARN 00f Retrying couchdb request in 1秒。尝试:4 错误:获取http://localhost:5984/: dial tcp [::1]:5984: connect: cannot assign requested address 2020-04-18 14:01:47.952 IDT [couchdb] handleRequest -> WARN 010 retrying couchdb request in 2s. 尝试:5 错误:获取http://localhost:5984/:拨打 tcp 127.0.0.1:5984:连接:连接被拒绝 2020-04-18 14:01:49.954 IDT [couchdb] handleRequest -> WARN 011 Retrying couchdb request in 4秒。尝试:6 错误:获取http://localhost:5984/:拨打 tcp 127.0.0.1:5984:连接:连接被拒绝 2020-04-18 14:01:53.955 IDT [couchdb] handleRequest -> WARN 012 Retrying couchdb request in 8秒。尝试:7 错误:获取 http://localhost:5984/:拨打 tcp 127.0.0.1:5984:连接:连接被拒绝 2020-04-18 14:02:01.956 IDT [couchdb] handleRequest -> WARN 013 在 16 秒内重试 couchdb 请求。尝试:8 错误:获取 http://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 创建状态数据库 _replicator 2020-04-18 14:02:26.355 IDT [couchdb] CreateDatabaseIfNotExist -> INFO 016 创建状态数据库 fabric__internal 2020-04-18 14:02:26.939 IDT [ledgermgmt] NewLedgerMgr -> INFO 017 初始化 LedgerMgr 2020-04-18 14:02:26.940 IDT [生命周期] InitializeLocalChaincodes -> INFO 018 初始化生命周期缓存,已安装 0 个链码 2020-04-18 14:02:26.940 IDT [nodeCmd] computeChaincodeEndpoint -> INFO 019 进入带有 peerHostname 的 computeChaincodeEndpoint:172.17.0.14 2020-04-18 14:02:26.940 IDT [nodeCmd] computeChaincodeEndpoint ->INFO 01a Exit with ccEndpoint: 172.17.0.14:7052 2020-04-18 14:02:26.940 IDT [nodeCmd] createChaincodeServer -> WARN 01b peer.chaincodeListenAddress 未设置,使用 172.17.0.14:7052 2020-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-18 14: 02:26.945 IDT [sccapi] DeploySysCC -> INFO 01e 部署系统链码'qscc' 2020-04-18 14:02:26.945 IDT [sccapi] DeploySysCC -> INFO 01f 部署系统链码'944 IDT [sccapi] DeploySysCC -> INFO 01c 部署系统链码'lscc' 2020-04-18 14:02:26.944 IDT [sccapi] DeploySysCC -> INFO 01d 部署系统链码'cscc' 2020-04-18 14:02: 26.945 IDT [sccapi] DeploySysCC -> INFO 01e 部署系统链码'qscc' 2020-04-18 14:02:26.945 IDT [sccapi] DeploySysCC -> INFO 01f 部署系统链码'944 IDT [sccapi] DeploySysCC -> INFO 01c 部署系统链码'lscc' 2020-04-18 14:02:26.944 IDT [sccapi] DeploySysCC -> INFO 01d 部署系统链码'cscc' 2020-04-18 14:02: 26.945 IDT [sccapi] DeploySysCC -> INFO 01e 部署系统链码'qscc' 2020-04-18 14:02:26.945 IDT [sccapi] DeploySysCC -> INFO 01f 部署系统链码'生命周期' 2020-04-18 14:02:26.945 IDT [nodeCmd] serve -> INFO 020 部署的系统链码 2020-04-18 14:02:26.945 IDT [discovery] NewService -> INFO 021 Created with config TLS: false, authCacheMaxSize: 1000, authCachePurgeRatio: 0.750000 2020-04-18 14:02:26.945 IDT [nodeCmd] registerDiscoveryService -> INFO 022 发现服务激活 2020-04-18 14:02:26.945 IDT [nodeCmd] 服务 -> INFO 023 启动对等ID=[org1peer1-svc],网络 ID=[nid1],地址=[172.17.0.14:30110] 2020-04-18 14:02:26.945 IDT [nodeCmd] serve -> INFO 024 Started peer with ID=[ org1peer1-svc],网络 ID=[nid1],地址=[172.17.0.14:30110] 2020-04-18 14:02:26.945 IDT [nodeCmd] func6 -> INFO 025 使用 listenerAddress = 0.0.0.0 启动分析服务器: 6060 2020-04-18 14:02:26.945 IDT [kvledger] LoadPreResetHeight ->INFO 026 从路径 [/var/hyperledger/production/ledgersData/chains] 加载预置高度 2020-04-18 14:02:26.945 IDT [fsblkstorage] preResetHtFiles -> INFO 027 没有通过活动通道 2020-04-18 14:06 :23.402 IDT [ledgermgmt] CreateLedger -> INFO 028 使用创世块创建分类帐 [orderer-system-channel] 2020-04-18 14:06:23.450 IDT [fsblkstorage] newBlockfileMgr -> INFO 029 从块存储中获取块信息 2020- 04-18 14:06:24.348 IDT [couchdb] CreateDatabaseIfNotExist -> INFO 02a 创建状态数据库 orderer-system-channelINFO 028 使用创世块创建分类帐 [orderer-system-channel] 2020-04-18 14:06:23.450 IDT [fsblkstorage] newBlockfileMgr -> INFO 029 从块存储中获取块信息 2020-04-18 14:06:24.348 IDT [couchdb] CreateDatabaseIfNotExist -> INFO 02a 创建状态数据库 orderer-system-channelINFO 028 使用创世块创建分类帐 [orderer-system-channel] 2020-04-18 14:06:23.450 IDT [fsblkstorage] newBlockfileMgr -> INFO 029 从块存储中获取块信息 2020-04-18 14:06:24.348 IDT [couchdb] CreateDatabaseIfNotExist -> INFO 02a 创建状态数据库 orderer-system-channel2020-04-18 14:06:25.986 IDT [couchdb] CreateDatabaseIfNotExist -> INFO 02b 创建状态数据库 orderer-system-channel__lifecycle 2020-04-18 14:06:27.177 IDT [kvledger] CommitLegacy -> INFO 02c [orderer-system -channel] 在 1153 毫秒内提交了 1 个交易的区块 [0](state_validation=0ms block_and_pvtdata_commit=100ms state_commit=1026ms)commitHash=[] 2020-04-18 14:06:27.210 IDT [ledgermgmt] CreateLedger -> INFO 02d使用创世块创建分类帐 [orderer-system-channel] 2020-04-18 14:06:27.587 IDT [gossip.gossip] JoinChan -> INFO 02e 与 3 个组织加入通道 orderer-system-channel 的八卦网络 2020-04- 18 14:06:27.587 IDT [gossip.gossip] learnAnchorPeers -> INFO 02f 没有为通道 orderer-system-channel 配置 Org2MSP 的锚节点以了解 2020-04-18 14:06:27。587 IDT [gossip.gossip] learnAnchorPeers -> INFO 030 没有为通道 orderer-system-channel 配置 Org3MSP 的锚节点以了解 2020-04-18 14:06:27.587 IDT [gossip.gossip] learnAnchorPeers -> INFO 031 否为通道 orderer-system-channel 配置 Org1MSP 的锚节点以了解 2020-04-18 14:06:27.590 IDT [gossip.state] NewGossipStateProvider -> INFO 032 更新通道 orderer-system-channel 的元数据信息,当前分类帐序列在 = 0,下一个预期块是 = 1 2020-04-18 14:06:27.590 IDT [endorser] callChaincode -> INFO 033 完成链码:cscc 持续时间:4192ms 通道 = txID=22d5a6a6 2020-04-18 14:06 :27.590 IDT [comm.grpc.server] 1 -> INFO 034 一元调用完成 grpc.service=protos.Endorser grpc.method=ProcessProposal grpc.peer_address=172.17.0.11:60502 grpc。code=OK grpc.call_duration=4.200507752s 2020-04-18 14:06:33.591 IDT [gossip.election] beLeader -> INFO 035 51b25e96fadae28a11006feffffc06ff47d1cb25bef7c82a04c36c4ddb20e9f9 : Becoming a leader 2020-04-18 14:06:33.591 IDT [gossip.service ] func1 -> INFO 036 Elected as a leader, starting delivery service for channel orderer-system-channel 2020-04-18 14:06:33.591 IDT [deliveryClient] StartDeliverForChannel -> INFO 037 This peer will retrieve blocks from ordering service and disseminate到组织中的其他对等方通道 orderer-system-channel 2020-04-18 14:06:33.596 IDT [peer.blocksprovider] func1 -> WARN 038 从交付流中读取时遇到错误:EOF channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:06:33.596 IDT [peer.blocksprovider] DeliverBlocks ->WARN 039 尝试接收块时出错:从 orderer channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:06:34.915 IDT [peer.blocksprovider] DeliverBlocks -> WARN 收到错误状态 FORBIDDEN 047 尝试接收块时出错:从 orderer channel=orderer-system-channel orderer-address=orderer:31010 收到错误状态 FORBIDDEN 2020-04-18 14:06:35.276 IDT [peer.blocksprovider] func1 -> WARN 048从交付流读取时遇到错误: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 trying to receive块:从 orderer channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:06:35 收到错误状态 FORBIDDEN。708 IDT [peer.blocksprovider] func1 -> WARN 04a 从交付流读取时遇到错误:EOF 通道=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:06:35.708 IDT [peer.blocksprovider ] DeliverBlocks -> WARN 04b 在尝试接收块时出错:从 orderer channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:06:36.228 IDT [peer.blocksprovider] 收到错误状态 FORBIDDEN func1 -> WARN 04c 从交付流中读取时遇到错误:EOF channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:06:36.228 IDT [peer.blocksprovider] DeliverBlocks -> WARN 04d Got尝试接收块时出错:从 orderer channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:06:36 收到错误状态 FORBIDDEN。881 IDT [peer.blocksprovider] func1 -> WARN 04e 从交付流读取时遇到错误:EOF 通道=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:06:36.882 IDT [peer.blocksprovider ] DeliverBlocks -> WARN 04f 尝试接收块时出错:从 orderer channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:06:37.627 IDT [peer.blocksprovider]收到错误状态 FORBIDDEN func1 -> WARN 050 从交付流读取时遇到错误:EOF channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:06:37.627 IDT [peer.blocksprovider] DeliverBlocks -> WARN 051 Got尝试接收块时出错:从 orderer channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:06:44 收到错误状态 FORBIDDEN。281 IDT [peer.blocksprovider] func1 -> WARN 05a 从交付流中读取时遇到错误:EOF 通道=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:06:44.281 IDT [peer.blocksprovider ] DeliverBlocks -> WARN 05b 在尝试接收块时出错:从 orderer channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:06:46.501 IDT [peer.blocksprovider] 收到错误状态 FORBIDDEN func1 -> WARN 05c 从交付流读取时遇到错误:EOF channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:06:46.501 IDT [peer.blocksprovider] DeliverBlocks -> WARN 05d Got尝试接收块时出错:从 orderer channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:06:56 收到错误状态 FORBIDDEN。200 IDT [peer.blocksprovider] func1 -> WARN 062 从交付流读取时遇到错误:EOF 通道=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:06:56.200 IDT [peer.blocksprovider ] DeliverBlocks -> WARN 063 在尝试接收块时出错:从 orderer channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:07:00.802 IDT [peer.blocksprovider] 收到错误状态 FORBIDDEN DeliverBlocks -> WARN 065 尝试接收块时出错:从 orderer channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:07:00.802 IDT [peer.blocksprovider] func1 收到错误状态 FORBIDDEN -> WARN 064 从交付流读取时遇到错误:EOF channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:07:06。324 IDT [peer.blocksprovider] func1 -> WARN 066 从交付流读取时遇到错误:EOF 通道=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:07:06.324 IDT [peer.blocksprovider ] DeliverBlocks -> WARN 067 在尝试接收块时出错:从 orderer channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:07:12.954 IDT [peer.blocksprovider] 收到错误状态 FORBIDDEN func1 -> WARN 068 从交付流读取时遇到错误:EOF channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:07:12.954 IDT [peer.blocksprovider] DeliverBlocks -> WARN 069 Got尝试接收块时出错:从 orderer channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:07:20 收到错误状态 FORBIDDEN。906 IDT [peer.blocksprovider] func1 -> WARN 06a 从交付流读取时遇到错误:EOF channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:07:20.906 IDT [peer.blocksprovider ] DeliverBlocks -> WARN 06b 在尝试接收块时出错:从 orderer channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:07:30.449 IDT [peer.blocksprovider] 收到错误状态 FORBIDDEN func1 -> WARN 06c 从交付流读取时遇到错误:EOF channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:07:30.449 IDT [peer.blocksprovider] DeliverBlocks -> WARN 06d Got尝试接收块时出错:从 orderer channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:07:41 收到错误状态 FORBIDDEN。899 IDT [peer.blocksprovider] func1 -> WARN 06e 从交付流读取时遇到错误:EOF 通道=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:07:41.899 IDT [peer.blocksprovider ] DeliverBlocks -> WARN 06f 尝试接收块时出错:从 orderer channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:07:55.641 IDT [peer.blocksprovider]收到错误状态 FORBIDDEN func1 -> WARN 070 从交付流读取时遇到错误:EOF channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:07:55.641 IDT [peer.blocksprovider] DeliverBlocks -> WARN 071 Got尝试接收块时出错:从 orderer channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:08:12 收到错误状态 FORBIDDEN。129 IDT [peer.blocksprovider] func1 -> WARN 072 从交付流读取时遇到错误:EOF 通道=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:08:12.129 IDT [peer.blocksprovider ] DeliverBlocks -> WARN 073 在尝试接收块时出错:从 orderer channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:08:31.916 IDT [peer.blocksprovider] 收到错误状态 FORBIDDEN func1 -> WARN 074 从交付流读取时遇到错误:EOF channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:08:31.916 IDT [peer.blocksprovider] DeliverBlocks -> WARN 075 Got尝试接收块时出错:从 orderer channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:08:55 收到错误状态 FORBIDDEN。657 IDT [peer.blocksprovider] func1 -> WARN 076 从交付流读取时遇到错误:EOF 通道=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:09:28.078 IDT [生命周期] InstallChaincode -> INFO 07a Successfully installed chaincode with package ID 'mycc_1:265208bde42d32cc07779c963ccfa379439f1ac64a813bf701e5309ff08bae13' 2020-04-18 14:09:28.078 IDT [endorser] callChaincode -> INFO 07b finished chaincode: _lifecycle duration: 702ms channel= txID=6cf67d2f 2020-04- 18 14:09:28.078 IDT [comm.grpc.server] 1 -> INFO 07c 一元调用完成 grpc.service=protos.Endorser grpc.method=ProcessProposal grpc.peer_address=172.17.0.11:34596 grpc.code=OK grpc。 call_duration=724.175701ms 2020-04-18 14:09:28.551 IDT [endorser] callChaincode -> INFO 07d 完成的链码:_生命周期持续时间:0ms 通道= txID=f5998634 2020-04-18 14:09:28.551 IDT [comm.grpc.server] 1 -> INFO 07e 一元调用完成 grpc.service=protos.Endorser grpc.method=ProcessProposal grpc.peer_address =172.17.0.11:34628 grpc.code=OK grpc.call_duration=1.714696ms 2020-04-18 14:09:58.337 IDT [peer.blocksprovider] func1 -> WARN 07f 从交付流读取时遇到错误:EOF channel=orderer -system-channel orderer-address=orderer:31010 2020-04-18 14:09:58.337 IDT [peer.blocksprovider] DeliverBlocks -> WARN 080 在尝试接收块时出错:从 orderer channel=orderer-收到错误状态 FORBIDDEN system-channel orderer-address=orderer:31010 2020-04-18 14:10:39.363 IDT [peer.blocksprovider] func1 -> WARN 081 从交付流读取时遇到错误:EOF channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:10:39.363 IDT [peer.blocksprovider] DeliverBlocks -> WARN 082 尝试接收块时出错:从订购者收到错误状态 FORBIDDEN channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:10:49.169 IDT [endorser] callChaincode -> INFO 083 完成链码:cscc 持续时间:0ms channel=txID=e48c516f 2020-04-18 14:10:49.169 IDT [comm.grpc.server] 1 -> INFO 084 一元调用完成 grpc.service=protos.Endorser grpc.method=ProcessProposal grpc.peer_address=172.17.0.11:35566 grpc.code=OK grpc.call_duration =1.250385ms 2020-04-18 14:10:51.147 IDT [couchdb] CreateDatabaseIfNotExist -> INFO 085 创建状态数据库 orderer-system-channel_lscc 2020-04-18 14:10:52。347 IDT [couchdb] CreateDatabaseIfNotExist -> INFO 086 创建状态数据库 orderer-system-channel__lifecycle$$p_implicit_org_$org1$m$s$p 2020-04-18 14:10:53.267 IDT [couchdb] CreateDatabaseIfNotExist -> INFO 087 创建状态数据库 orderer-system-channel__lifecycle$$h_implicit_org_$org1$m$s$p 2020-04-18 14:10:53.453 IDT [生命周期] ApproveChaincodeDefinitionForOrg -> INFO 088 成功认可链码批准,名称为“mycc”,包 ID 为“mycc_1” :265208bde42d32cc07779c963ccfa379439f1ac64a813bf701e5309ff08bae13',在频道'orderer-system-channel'上定义{序列:1,背书信息:(版本:'1.0',插件:'escc',需要初始化:true),验证信息:(插件:'vscc ', 政策: '12202f4368616e6e656c2f4170706c69636174696f6e2f456e646f7273656d656e74'), collections: ()} 2020-04-18 14:10:53.453 IDT [endorser] callChaincode -> INFO 089 finished chaincode: _lifecycle duration: 4204ms channel=orderer-system-channel txID=d913be80 2020-04-18 14:10:53.485 IDT [comm.grpc.server] 1 -> INFO 08a 一元调用完成 grpc.service=protos.Endorser grpc.method=ProcessProposal grpc.peer_address=172.17.0.11:35566 grpc.code=OK grpc.call_duration =4.236358061s 2020-04-18 14:11:23.486 IDT [comm.grpc.server] 1 -> INFO 08b 流式调用完成 grpc.service=protos.Deliver grpc.method=DeliverFiltered grpc.request_deadline=2020-04-18T14 :11:23.485+03:00 grpc.peer_address=172.17.0.11:35568 error="上下文在块检索前完成:上下文取消" grpc.code=未知 grpc.call_duration=29。988290354s 2020-04-18 14:11:28.591 IDT [peer.blocksprovider] func1 -> WARN 08c 从交付流读取时遇到错误:EOF channel=orderer-system-channel orderer-address=orderer:31010 2020-04-18 14:11:28.591 IDT [peer.blocksprovider] DeliverBlocks -> WARN 08d 在尝试接收块时出错:从 orderer channel=orderer-system-channel orderer-address=orderer:31010 收到错误状态 FORBIDDEN3101031010

可能是什么问题呢?

我创建系统的脚本 -

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

标签: hyperledger-fabric

解决方案


  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. 如果加入频道成功,请确保您已经在 EnableNodeOUs 中/fabric/config/crypto-config.yaml

前任:

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

推荐阅读