kubernetes (minikube) 中的 Fabric v2.0 - 错误 Peer channel - 错误验证提议:访问被拒绝:channel [] creator org [Org1MSP]
Fabric v2.0 in kubernetes (minikube) - error Peer channel - error validating proposal: access denied: channel [] creator org [Org1MSP]
我正在尝试在 kubernetes(在 minikube 本地)上设置 Fabric v2.0 测试网络 (https://hyperledger-fabric.readthedocs.io/en/release-2.0/test_network.html)。我在加入对等频道时遇到错误。
我根据测试网络的 docker-compose-test-net.yaml 创建了 kubernetes 文件。我成功部署了以下 pods:
- 订货人(筏)
- 2 个对等点(peer0-org1-example-com 和 peer0-org2-example-com)
- 一个结构工具舱。
我使用 cryptogen 和 configtxgen 成功生成了加密 material,并且我成功创建了通道。
但是当我尝试让第一个节点加入频道时,出现了以下错误。非常感谢您的帮助!!
在 fabric-tools pod 中:
$ peer channel join -b $CHANNEL_NAME.block
2020-02-11 15:57:59.177 CET [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
Error: proposal failed (err: rpc error: code = Unknown desc = error validating proposal: access denied: channel [] creator org [Org1MSP])
我在 peer0-org1-example-com pod 日志中看到的内容:
instance for cert -----BEGIN CERTIFICATE-----
MIICKjCCAdCgAwIBAgIRAOoNq1h+5Q60dQxXKomXeQ0wCgYIKoZIzj0EAwIwczEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEtZXhhbXBsZS1jb20xHDAaBgNVBAMTE2Nh
Lm9yZzEtZXhhbXBsZS1jb20wHhcNMjAwMjExMTQ0OTAwWhcNMzAwMjA4MTQ0OTAw
WjBrMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
U2FuIEZyYW5jaXNjbzEOMAwGA1UECxMFYWRtaW4xHzAdBgNVBAMMFkFkbWluQG9y
ZzEtZXhhbXBsZS1jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASW4Gce7yTD
oxA8CurdKrIRIG+o4To9MLfsys6AF67SWQfpa6H2GtKd9rglAseEFaAIPshb9M0J
tD1e8Q/m88ppo00wSzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIwADArBgNV
HSMEJDAigCBSssprjgYyOPgdSIea4BLt8+8o0ISgVKxaIPHm/L5LTDAKBggqhkjO
PQQDAgNIADBFAiEAodJpGaOCX1hBse/un1SuLr97Y3vXiHOn/ncy1uwgt6MCIA7N
I7QfotnWGi2Rr5bRom5bWTup//IJI2ObsKx6SOfA
-----END CERTIFICATE-----
[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
[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µs
[36m2020-02-11 15:57:59.182 CET [grpc] infof -> DEBU 296[0m transport: loopyWriter.run returning. connection error: desc = "transport is closing"
[36m2020-02-11 15:58:00.791 CET [gossip.discovery] periodicalReconnectToDead -> DEBU 297[0m
我明白好像是证书的问题,但是我不明白哪里错了。
这些是我在创建和尝试加入频道之前设置的环境变量。我感觉我的问题一定出自那里?
export CORE_PEER_TLS_ENABLED=true
export DIR_CRYPTO_MATERIAL="/fabric/crypto-config"
export CHANNEL_NAME=mychannel
export ORDERER_CA=$DIR_CRYPTO_MATERIAL/ordererOrganizations/example-com/orderers/orderer-example-com/msp/tlscacerts/tlsca.example-com-cert.pem
export PEER0_ORG1_CA=$DIR_CRYPTO_MATERIAL/peerOrganizations/org1-example-com/peers/peer0-org1-example-com/tls/ca.crt
export PEER0_ORG2_CA=$DIR_CRYPTO_MATERIAL/peerOrganizations/org2-example-com/peers/peer0-org2-example-com/tls/ca.crt
export CORE_PEER_LOCALMSPID="Org1MSP"
export CORE_PEER_MSPID="Org1MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=$PEER0_ORG1_CA
export CORE_PEER_TLS_CERT_FILE=$DIR_CRYPTO_MATERIAL/peerOrganizations/org1-example-com/peers/peer0-org1-example-com/tls/server.crt
export CORE_PEER_TLS_KEY_FILE=$DIR_CRYPTO_MATERIAL/peerOrganizations/org1-example-com/peers/peer0-org1-example-com/tls/server.key
export CORE_PEER_MSPCONFIGPATH=$DIR_CRYPTO_MATERIAL/peerOrganizations/org1-example-com/users/Admin@org1-example-com/msp
export CORE_PEER_ADDRESS=peer0-org1-example-com:7051
export FABRIC_CFG_PATH="/etc/hyperledger/fabric"
export CORE_PEER_ADDRESSAUTODETECT="true"
非常感谢!
我解决了我的问题!
我在用于部署对等点的 yaml 文件的环境中缺少 CORE_PEER_MSPCONFIGPATH。
添加这个让我成功加入了频道。
- name: CORE_PEER_MSPCONFIGPATH
value: /fabric/crypto-config/peerOrganizations/org1-example-com/peers/peer0-org1-example-com/msp/
这一般是环境对端配置不好造成的。
例如使用 bad
export CORE_PEER_LOCALMSPID="Org1MSP" // instead of org1MSP
通常对等日志应该给你一个提示
access denied: channel expected MSP ID org1MSP, received Org1MSP channel= txID=de2e9354
我正在尝试在 kubernetes(在 minikube 本地)上设置 Fabric v2.0 测试网络 (https://hyperledger-fabric.readthedocs.io/en/release-2.0/test_network.html)。我在加入对等频道时遇到错误。
我根据测试网络的 docker-compose-test-net.yaml 创建了 kubernetes 文件。我成功部署了以下 pods:
- 订货人(筏)
- 2 个对等点(peer0-org1-example-com 和 peer0-org2-example-com)
- 一个结构工具舱。
我使用 cryptogen 和 configtxgen 成功生成了加密 material,并且我成功创建了通道。
但是当我尝试让第一个节点加入频道时,出现了以下错误。非常感谢您的帮助!!
在 fabric-tools pod 中:
$ peer channel join -b $CHANNEL_NAME.block
2020-02-11 15:57:59.177 CET [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
Error: proposal failed (err: rpc error: code = Unknown desc = error validating proposal: access denied: channel [] creator org [Org1MSP])
我在 peer0-org1-example-com pod 日志中看到的内容:
instance for cert -----BEGIN CERTIFICATE-----
MIICKjCCAdCgAwIBAgIRAOoNq1h+5Q60dQxXKomXeQ0wCgYIKoZIzj0EAwIwczEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEtZXhhbXBsZS1jb20xHDAaBgNVBAMTE2Nh
Lm9yZzEtZXhhbXBsZS1jb20wHhcNMjAwMjExMTQ0OTAwWhcNMzAwMjA4MTQ0OTAw
WjBrMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
U2FuIEZyYW5jaXNjbzEOMAwGA1UECxMFYWRtaW4xHzAdBgNVBAMMFkFkbWluQG9y
ZzEtZXhhbXBsZS1jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASW4Gce7yTD
oxA8CurdKrIRIG+o4To9MLfsys6AF67SWQfpa6H2GtKd9rglAseEFaAIPshb9M0J
tD1e8Q/m88ppo00wSzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIwADArBgNV
HSMEJDAigCBSssprjgYyOPgdSIea4BLt8+8o0ISgVKxaIPHm/L5LTDAKBggqhkjO
PQQDAgNIADBFAiEAodJpGaOCX1hBse/un1SuLr97Y3vXiHOn/ncy1uwgt6MCIA7N
I7QfotnWGi2Rr5bRom5bWTup//IJI2ObsKx6SOfA
-----END CERTIFICATE-----
[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
[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µs
[36m2020-02-11 15:57:59.182 CET [grpc] infof -> DEBU 296[0m transport: loopyWriter.run returning. connection error: desc = "transport is closing"
[36m2020-02-11 15:58:00.791 CET [gossip.discovery] periodicalReconnectToDead -> DEBU 297[0m
我明白好像是证书的问题,但是我不明白哪里错了。
这些是我在创建和尝试加入频道之前设置的环境变量。我感觉我的问题一定出自那里?
export CORE_PEER_TLS_ENABLED=true
export DIR_CRYPTO_MATERIAL="/fabric/crypto-config"
export CHANNEL_NAME=mychannel
export ORDERER_CA=$DIR_CRYPTO_MATERIAL/ordererOrganizations/example-com/orderers/orderer-example-com/msp/tlscacerts/tlsca.example-com-cert.pem
export PEER0_ORG1_CA=$DIR_CRYPTO_MATERIAL/peerOrganizations/org1-example-com/peers/peer0-org1-example-com/tls/ca.crt
export PEER0_ORG2_CA=$DIR_CRYPTO_MATERIAL/peerOrganizations/org2-example-com/peers/peer0-org2-example-com/tls/ca.crt
export CORE_PEER_LOCALMSPID="Org1MSP"
export CORE_PEER_MSPID="Org1MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=$PEER0_ORG1_CA
export CORE_PEER_TLS_CERT_FILE=$DIR_CRYPTO_MATERIAL/peerOrganizations/org1-example-com/peers/peer0-org1-example-com/tls/server.crt
export CORE_PEER_TLS_KEY_FILE=$DIR_CRYPTO_MATERIAL/peerOrganizations/org1-example-com/peers/peer0-org1-example-com/tls/server.key
export CORE_PEER_MSPCONFIGPATH=$DIR_CRYPTO_MATERIAL/peerOrganizations/org1-example-com/users/Admin@org1-example-com/msp
export CORE_PEER_ADDRESS=peer0-org1-example-com:7051
export FABRIC_CFG_PATH="/etc/hyperledger/fabric"
export CORE_PEER_ADDRESSAUTODETECT="true"
非常感谢!
我解决了我的问题!
我在用于部署对等点的 yaml 文件的环境中缺少 CORE_PEER_MSPCONFIGPATH。
添加这个让我成功加入了频道。
- name: CORE_PEER_MSPCONFIGPATH
value: /fabric/crypto-config/peerOrganizations/org1-example-com/peers/peer0-org1-example-com/msp/
这一般是环境对端配置不好造成的。 例如使用 bad
export CORE_PEER_LOCALMSPID="Org1MSP" // instead of org1MSP
通常对等日志应该给你一个提示
access denied: channel expected MSP ID org1MSP, received Org1MSP channel= txID=de2e9354