kubernetes (minikube) 中的 Fabric v2.0 - 错误对等通道 - 验证提案时出错:访问被拒绝:通道 [] 创建者组织 [Org1MSP]

Jon*_*BAB 1 kubernetes hyperledger-fabric

我正在尝试在 kubernetes 上(本地 minikube 上)设置 Fabric v2.0 测试网络(https://hyperledger-fabric.readthedocs.io/en/release-2.0/test_network.html )。我在加入对等通道时遇到错误。

\n\n

我根据测试网络的 docker-compose-test-net.yaml 创建了 kubernetes 文件。我成功部署了以下 Pod:

\n\n
    \n
  • 订购者(筏)
  • \n
  • 2 个对等点(peer0-org1-example-com 和peer0-org2-example-com)
  • \n
  • 织物工具吊舱。
  • \n
\n\n

我使用 cryptogen 和 configtxgen 成功生成了加密材料,并成功创建了通道。

\n\n

但是当我尝试让第一个对等点加入频道时,出现以下错误。非常感谢您的帮助!

\n\n

在结构工具窗格中:

\n\n
$ peer channel join -b $CHANNEL_NAME.block\n2020-02-11 15:57:59.177 CET [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized\nError: proposal failed (err: rpc error: code = Unknown desc = error validating proposal: access denied: channel [] creator org [Org1MSP])\n
Run Code Online (Sandbox Code Playgroud)\n\n

我在 peer0-org1-example-com pod 日志中看到的内容:

\n\n
instance for cert -----BEGIN CERTIFICATE-----\nMIICKjCCAdCgAwIBAgIRAOoNq1h+5Q60dQxXKomXeQ0wCgYIKoZIzj0EAwIwczEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGTAXBgNVBAoTEG9yZzEtZXhhbXBsZS1jb20xHDAaBgNVBAMTE2Nh\nLm9yZzEtZXhhbXBsZS1jb20wHhcNMjAwMjExMTQ0OTAwWhcNMzAwMjA4MTQ0OTAw\nWjBrMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN\nU2FuIEZyYW5jaXNjbzEOMAwGA1UECxMFYWRtaW4xHzAdBgNVBAMMFkFkbWluQG9y\nZzEtZXhhbXBsZS1jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASW4Gce7yTD\noxA8CurdKrIRIG+o4To9MLfsys6AF67SWQfpa6H2GtKd9rglAseEFaAIPshb9M0J\ntD1e8Q/m88ppo00wSzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIwADArBgNV\nHSMEJDAigCBSssprjgYyOPgdSIea4BLt8+8o0ISgVKxaIPHm/L5LTDAKBggqhkjO\nPQQDAgNIADBFAiEAodJpGaOCX1hBse/un1SuLr97Y3vXiHOn/ncy1uwgt6MCIA7N\nI7QfotnWGi2Rr5bRom5bWTup//IJI2ObsKx6SOfA\n-----END CERTIFICATE-----\n[33m2020-02-11 15:57:59.180 CET [endorser] Validate -> WARN 294[0m access denied: channel the supplied identity is not valid: x509: certificate signed by unknown authority channel= txID=bf62e100\n[34m2020-02-11 15:57:59.180 CET [comm.grpc.server] 1 -> INFO 295[0m unary call completed grpc.service=protos.Endorser grpc.method=ProcessProposal grpc.peer_address=172.17.0.6:50230 error="error validating proposal: access denied: channel [] creator org [Org1MSP]" grpc.code=Unknown grpc.call_duration=916.68\xc2\xb5s\n[36m2020-02-11 15:57:59.182 CET [grpc] infof -> DEBU 296[0m transport: loopyWriter.run returning. connection error: desc = "transport is closing"\n[36m2020-02-11 15:58:00.791 CET [gossip.discovery] periodicalReconnectToDead -> DEBU 297[0m\n
Run Code Online (Sandbox Code Playgroud)\n\n

我知道这似乎是证书的问题,但我不明白错误在哪里。

\n\n

这些是我在创建并尝试加入频道之前设置的环境变量。我有一种感觉,我的问题一定来自那里?

\n\n
export CORE_PEER_TLS_ENABLED=true\nexport DIR_CRYPTO_MATERIAL="/fabric/crypto-config"\nexport CHANNEL_NAME=mychannel\n\nexport ORDERER_CA=$DIR_CRYPTO_MATERIAL/ordererOrganizations/example-com/orderers/orderer-example-com/msp/tlscacerts/tlsca.example-com-cert.pem\nexport PEER0_ORG1_CA=$DIR_CRYPTO_MATERIAL/peerOrganizations/org1-example-com/peers/peer0-org1-example-com/tls/ca.crt\nexport PEER0_ORG2_CA=$DIR_CRYPTO_MATERIAL/peerOrganizations/org2-example-com/peers/peer0-org2-example-com/tls/ca.crt\n\nexport CORE_PEER_LOCALMSPID="Org1MSP"\nexport CORE_PEER_MSPID="Org1MSP"\nexport CORE_PEER_TLS_ROOTCERT_FILE=$PEER0_ORG1_CA\nexport CORE_PEER_TLS_CERT_FILE=$DIR_CRYPTO_MATERIAL/peerOrganizations/org1-example-com/peers/peer0-org1-example-com/tls/server.crt\nexport CORE_PEER_TLS_KEY_FILE=$DIR_CRYPTO_MATERIAL/peerOrganizations/org1-example-com/peers/peer0-org1-example-com/tls/server.key\nexport CORE_PEER_MSPCONFIGPATH=$DIR_CRYPTO_MATERIAL/peerOrganizations/org1-example-com/users/Admin@org1-example-com/msp\nexport CORE_PEER_ADDRESS=peer0-org1-example-com:7051\n\nexport FABRIC_CFG_PATH="/etc/hyperledger/fabric"\n\nexport CORE_PEER_ADDRESSAUTODETECT="true"\n
Run Code Online (Sandbox Code Playgroud)\n\n

非常感谢!

\n

Jon*_*BAB 7

我解决了我的问题!

我在用于部署对等点的 yaml 文件的 env 中缺少 CORE_PEER_MSPCONFIGPATH。

只需添加这个就可以让我成功加入频道。

- name: CORE_PEER_MSPCONFIGPATH
  value: /fabric/crypto-config/peerOrganizations/org1-example-com/peers/peer0-org1-example-com/msp/
Run Code Online (Sandbox Code Playgroud)