Hyperledger Fabric 交易背书报错 no peer combination can satisfy the endorsement policy

原创
2022/03/04 16:50
阅读数 536
AI总结

Hyperledger Fabric 交易背书报错 no peer combination can satisfy the endorsement policy

例子:https://github.com/hyperledger/fabric-samples/tree/main/asset-transfer-events https://github.com/hyperledger/fabric-samples/tree/main/asset-transfer-basic

<dependency>
	<groupId>org.hyperledger.fabric</groupId>
	<artifactId>fabric-gateway</artifactId>
	<version>1.0.1</version>
</dependency>

fabric-gateway 调用合约的时候会在背书的时候出现错误:io.grpc.StatusRuntimeException: FAILED_PRECONDITION: no combination of peers can be derived which satisfy the endorsement policy: no peer combination can satisfy the endorsement policy。

因为背书的时候只将背书请求发送给了一个节点。

提了一个 issues: https://github.com/hyperledger/fabric-gateway/issues/400

问题原因: 因为没有更新通道中组织的锚节点,没有选定锚节点的时候节点之间无法进行 gossip 通信,使用服务发现的时候只能发现当前指定 server 的单个节点。更新了组织的锚节点配置后就可以发现全部的节点了。

discover --configFile discover_config.yaml peers --channel businesschannel --server peer0.org1.example.com:7051
[
	{
		"MSPID": "Org1MSP",
		"LedgerHeight": 9,
		"Endpoint": "peer0.org1.example.com:7051",
		"Identity": "-----BEGIN CERTIFICATE-----\nMIICKDCCAc+gAwIBAgIRAIc6sjio0hnYI+sBuebcN9gwCgYIKoZIzj0EAwIwczEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh\nLm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwMjE3MTAzMDAwWhcNMzIwMjE1MTAzMDAw\nWjBqMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN\nU2FuIEZyYW5jaXNjbzENMAsGA1UECxMEcGVlcjEfMB0GA1UEAxMWcGVlcjAub3Jn\nMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABEHhWvyNC5Pp\noJmF9pZzdVkKrLcjhS3ePhEIW/53NrnqZUB5QT6NRvo+rxqpIxAjMMZTTg2OewJd\ng/crbYls2GyjTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1Ud\nIwQkMCKAIGk9e22kEiVLy3ReWOlHBJklL9JCedP2QWQP/12fsPLuMAoGCCqGSM49\nBAMCA0cAMEQCICVqogpr/tI+sNTy8EYbkuuek4gw5Y/bNNI5cTZJpefKAiB8Zr2o\nx1r62J3DV5qmF2jEAVRV8duwliiAkKW4q1xcNA==\n-----END CERTIFICATE-----\n",
		"Chaincodes": [
			"hyperledger-fabric-contract-java-demo",
			"_lifecycle"
		]
	},
	{
		"MSPID": "Org1MSP",
		"LedgerHeight": 9,
		"Endpoint": "peer1.org1.example.com:8051",
		"Identity": "-----BEGIN CERTIFICATE-----\nMIICKDCCAc6gAwIBAgIQYSi1/xYV9ghavadHl49VMDAKBggqhkjOPQQDAjBzMQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu\nb3JnMS5leGFtcGxlLmNvbTAeFw0yMjAyMTcxMDMwMDBaFw0zMjAyMTUxMDMwMDBa\nMGoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T\nYW4gRnJhbmNpc2NvMQ0wCwYDVQQLEwRwZWVyMR8wHQYDVQQDExZwZWVyMS5vcmcx\nLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEp42mYDwJKY11\nntYoyWAwXtIyJiWH/9EB93jVPsFALzicKbibE1vSZlGl1mkb7M5wYCtfai11Bqqz\nUFEz7e+DsqNNMEswDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0j\nBCQwIoAgaT17baQSJUvLdF5Y6UcEmSUv0kJ50/ZBZA//XZ+w8u4wCgYIKoZIzj0E\nAwIDSAAwRQIhAP+WvJIfhdpG/zkc1GrlTwZOppc0JZL9Nl0MfhJ4TMpiAiAfJ8kF\njJeEYOonkKeZcRG77WoeB/+32BCUJNsSIwYyKA==\n-----END CERTIFICATE-----\n",
		"Chaincodes": [
			"hyperledger-fabric-contract-java-demo",
			"_lifecycle"
		]
	},
	{
		"MSPID": "Org2MSP",
		"LedgerHeight": 9,
		"Endpoint": "peer1.org2.example.com:8051",
		"Identity": "-----BEGIN CERTIFICATE-----\nMIICKDCCAc+gAwIBAgIRAMV4swH5jaaH+rQ13cBAzcwwCgYIKoZIzj0EAwIwczEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh\nLm9yZzIuZXhhbXBsZS5jb20wHhcNMjIwMjE3MTAzMDAwWhcNMzIwMjE1MTAzMDAw\nWjBqMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN\nU2FuIEZyYW5jaXNjbzENMAsGA1UECxMEcGVlcjEfMB0GA1UEAxMWcGVlcjEub3Jn\nMi5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJQ2FIGAqO2J\ngR9LzplbIGt2OXCHklyoQzl/o8OubrAy0hc88KqCFJQeH9gynDDrZM8eSyrlNWTO\nf6ZXcoMMRbejTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1Ud\nIwQkMCKAINRek9OkgUPYeL4655/hNDSGXlXS/7qqtIzG+9yf2LG2MAoGCCqGSM49\nBAMCA0cAMEQCICAY5hjEBFmhjJgOPNZx7oJIh5YlhPPMPuVnofwXR4ZCAiAVnOzZ\nGzUNe7WFYhT4L2l7xLPl51FjigMoLYjG2Jt+ng==\n-----END CERTIFICATE-----\n",
		"Chaincodes": [
			"hyperledger-fabric-contract-java-demo",
			"_lifecycle"
		]
	},
	{
		"MSPID": "Org2MSP",
		"LedgerHeight": 9,
		"Endpoint": "peer0.org2.example.com:7051",
		"Identity": "-----BEGIN CERTIFICATE-----\nMIICKTCCAc+gAwIBAgIRAJnk+wcTIbag0SNs4f2TAeIwCgYIKoZIzj0EAwIwczEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh\nLm9yZzIuZXhhbXBsZS5jb20wHhcNMjIwMjE3MTAzMDAwWhcNMzIwMjE1MTAzMDAw\nWjBqMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN\nU2FuIEZyYW5jaXNjbzENMAsGA1UECxMEcGVlcjEfMB0GA1UEAxMWcGVlcjAub3Jn\nMi5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKtm2wfuhEqm\nht8CqbV1CKAe7YRAao5ySPMCCswpXuX3Amw65L0pFLELhhFHvqoTmwTZOLNHeHCl\nJoDQgoM5DUyjTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1Ud\nIwQkMCKAINRek9OkgUPYeL4655/hNDSGXlXS/7qqtIzG+9yf2LG2MAoGCCqGSM49\nBAMCA0gAMEUCIQCB9+ASmx0BgYaN30Zeq+z3Gtj/q1yqrae2bD0dJspbMwIgcAFC\nx9CQ52jYET7PbIqJOGPksb8amAPUAJXBOIxVJ7U=\n-----END CERTIFICATE-----\n",
		"Chaincodes": [
			"hyperledger-fabric-contract-java-demo",
			"_lifecycle"
		]
	}
]
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
AI总结
返回顶部
顶部