Hyperledger fabric hyperledger结构发现服务无法背书

Hyperledger fabric hyperledger结构发现服务无法背书,hyperledger-fabric,service-discovery,hyperledger-fabric-sdk-js,Hyperledger Fabric,Service Discovery,Hyperledger Fabric Sdk Js,大家好,我正在尝试使用node js客户端的服务发现来生成交易建议,我遇到的问题是,当发现生成背书计划时,它会将建议发送到同一对等方,但无法背书, 这里是一个背书计划生成,idk为什么但同级名称都是错误的 { "chaincode": "auditoria-cc", "groups": { "G0": { "peers": [ { "mspid": "Org1MSP", "endpoint": "peer0.or

大家好,我正在尝试使用node js客户端的服务发现来生成交易建议,我遇到的问题是,当发现生成背书计划时,它会将建议发送到同一对等方,但无法背书, 这里是一个背书计划生成,idk为什么但同级名称都是错误的

{
  "chaincode": "auditoria-cc",
  "groups": {
    "G0": {
      "peers": [
        {
          "mspid": "Org1MSP",
          "endpoint": "peer0.org1.autentia-bchain.com:7051",
          "ledger_height": {
            "low": 11,
            "high": 0,
            "unsigned": true
          },
          "chaincodes": [
            {
              "name": "auditoria-cc",
              "version": "1.0"
            }
          ],
          "name": "peer0.org1.autentia-bchain.com"
        }
      ]
    },
    "G1": {
      "peers": [
        {
          "mspid": "Org2MSP",
          "endpoint": "peer0.org2.autentia-bchain.com:7051",
          "ledger_height": {
            "low": 11,
            "high": 0,
            "unsigned": true
          },
          "chaincodes": [
            {
              "name": "auditoria-cc",
              "version": "1.0"
            }
          ],
          "name": "peer0.org1.autentia-bchain.com"
        }
      ]
    },
    "G2": {
      "peers": [
        {
          "mspid": "Org3MSP",
          "endpoint": "peer0.org3.autentia-bchain.com:7051",
          "ledger_height": {
            "low": 11,
            "high": 0,
            "unsigned": true
          },
          "chaincodes": [
            {
              "name": "auditoria-cc",
              "version": "1.0"
            }
          ],
          "name": "peer0.org1.autentia-bchain.com"
        }
      ]
    },
    "G3": {
      "peers": [
        {
          "mspid": "Org4MSP",
          "endpoint": "peer0.org4.autentia-bchain.com:7051",
          "ledger_height": {
            "low": 11,
            "high": 0,
            "unsigned": true
          },
          "chaincodes": [
            {
              "name": "auditoria-cc",
              "version": "1.0"
            }
          ],
          "name": "peer0.org1.autentia-bchain.com"
        }
      ]
    }
  },
  "layouts": [
    {
      "G1": 1,
      "G2": 1,
      "G0": 1
    },
    {
      "G3": 1,
      "G0": 1,
      "G1": 1
    },
    {
      "G2": 1,
      "G3": 1,
      "G0": 1
    },
    {
      "G2": 1,
      "G3": 1,
      "G1": 1
    }
  ],
  "plan_id": "{\"chaincodes\":[{\"name\":\"auditoria-cc\"}]}",
  "endorsements": {

  }
}
这是它发送建议时的日志

[2019-05-13 12:39:39.894] [DEBUG] Helper - [DiscoveryEndorsementHandler]: _endorse - starting layout plan 0
[2019-05-13 12:39:39.895] [DEBUG] Helper - [DiscoveryEndorsementHandler]: _endorse_layout - start
[2019-05-13 12:39:39.895] [DEBUG] Helper - [DiscoveryEndorsementHandler]: _build_endorse_group_member >> G2:0 - start
[2019-05-13 12:39:39.895] [DEBUG] Helper - [DiscoveryEndorsementHandler]: _build_endorse_group_member >> G2:0 - send endorsement to peer0.org1.autentia-bchain.com
[2019-05-13 12:39:39.895] [DEBUG] Helper - [DiscoveryEndorsementHandler]: _build_endorse_group_member >> G3:1 - start
[2019-05-13 12:39:39.895] [DEBUG] Helper - [DiscoveryEndorsementHandler]: _build_endorse_group_member >> G3:1 - send endorsement to peer0.org1.autentia-bchain.com
[2019-05-13 12:39:39.895] [DEBUG] Helper - [DiscoveryEndorsementHandler]: _build_endorse_group_member >> G0:2 - start
[2019-05-13 12:39:39.896] [DEBUG] Helper - [DiscoveryEndorsementHandler]: _build_endorse_group_member >> G0:2 - send endorsement to peer0.org1.autentia-bchain.com
[2019-05-13 12:39:39.902] [WARN] Helper - [DiscoveryEndorsementHandler]: _build_endorse_group_member >> G0:2 - endorsement failed - Error: failed to execute transaction fe2fb28959f06b693e5b834ecfe5fab3aabe8e393f4cc1b2376db7b5aed9f096: error sending: txid: fe2fb28959f06b693e5b834ecfe5fab3aabe8e393f4cc1b2376db7b5aed9f096(auditoria-channel) exists
[2019-05-13 12:39:39.902] [DEBUG] Helper - [DiscoveryEndorsementHandler]: _build_endorse_group_member >> G0:2 - not able to get a completed endorsement
[2019-05-13 12:39:39.902] [WARN] Helper - [DiscoveryEndorsementHandler]: _build_endorse_group_member >> G3:1 - endorsement failed - Error: failed to execute transaction fe2fb28959f06b693e5b834ecfe5fab3aabe8e393f4cc1b2376db7b5aed9f096: error sending: txid: fe2fb28959f06b693e5b834ecfe5fab3aabe8e393f4cc1b2376db7b5aed9f096(auditoria-channel) exists
[2019-05-13 12:39:39.902] [DEBUG] Helper - [DiscoveryEndorsementHandler]: _build_endorse_group_member >> G3:1 - not able to get a completed endorsement
[2019-05-13 12:39:39.965] [DEBUG] Helper - [DiscoveryEndorsementHandler]: _build_endorse_group_member >> G2:0 - endorsement completed to peer0.org1.autentia-bchain.com - 200

编辑1: 初始化日志

[2019-05-13 17:31:18.543] [DEBUG] Helper - getClientForOrg - ****** END Org1 test1 


[2019-05-13 17:31:18.544] [DEBUG] invoke-chaincode - Successfully got the fabric client for the organization "Org1"
[2019-05-13 17:31:18.544] [DEBUG] Helper - [NetworkConfig101.js]: getChannel - name auditoria-channel
[2019-05-13 17:31:18.544] [DEBUG] Helper - [NetworkConfig101.js]: getPeer - name peer0.org1.autentia-bchain.com, channel_org: undefined
[2019-05-13 17:31:18.546] [DEBUG] Helper - [NetworkConfig101.js]: getOrganization - name Org1
[2019-05-13 17:31:18.546] [DEBUG] Helper - [Organization.js]: Organization.const
[2019-05-13 17:31:18.546] [DEBUG] Helper - [NetworkConfig101.js]: getPeer - name peer0.org1.autentia-bchain.com, channel_org: undefined
[2019-05-13 17:31:18.547] [DEBUG] Helper - [NetworkConfig101.js]: getCertificateAuthority - name ca.org1.autentia-bchain.com
[2019-05-13 17:31:18.547] [DEBUG] Helper - [CertificateAuthority.js]: CertificateAuthority.const
[2019-05-13 17:31:18.547] [DEBUG] Helper - [NetworkConfig101.js]: getOrganization - name Org1
[2019-05-13 17:31:18.547] [DEBUG] Helper - [Organization.js]: Organization.const
[2019-05-13 17:31:18.547] [DEBUG] Helper - [NetworkConfig101.js]: getPeer - name peer0.org1.autentia-bchain.com, channel_org: undefined
[2019-05-13 17:31:18.547] [DEBUG] Helper - [NetworkConfig101.js]: getCertificateAuthority - name ca.org1.autentia-bchain.com
[2019-05-13 17:31:18.547] [DEBUG] Helper - [CertificateAuthority.js]: CertificateAuthority.const
[2019-05-13 17:31:18.547] [DEBUG] Helper - [NetworkConfig101.js]: _addPeersToChannel - peer0.org1.autentia-bchain.com - grpcs://localhost:7051
[2019-05-13 17:31:18.547] [DEBUG] Helper - [NetworkConfig101.js]: getPeer - name peer0.org2.autentia-bchain.com, channel_org: undefined
[2019-05-13 17:31:18.548] [DEBUG] Helper - [NetworkConfig101.js]: getOrganization - name Org1
[2019-05-13 17:31:18.548] [DEBUG] Helper - [Organization.js]: Organization.const
[2019-05-13 17:31:18.548] [DEBUG] Helper - [NetworkConfig101.js]: getPeer - name peer0.org1.autentia-bchain.com, channel_org: undefined
[2019-05-13 17:31:18.548] [DEBUG] Helper - [NetworkConfig101.js]: getCertificateAuthority - name ca.org1.autentia-bchain.com
[2019-05-13 17:31:18.548] [DEBUG] Helper - [CertificateAuthority.js]: CertificateAuthority.const
[2019-05-13 17:31:18.548] [DEBUG] Helper - [NetworkConfig101.js]: getOrganization - name Org2
[2019-05-13 17:31:18.548] [DEBUG] Helper - [Organization.js]: Organization.const
[2019-05-13 17:31:18.548] [DEBUG] Helper - [NetworkConfig101.js]: getPeer - name peer0.org2.autentia-bchain.com, channel_org: undefined
[2019-05-13 17:31:18.548] [DEBUG] Helper - [NetworkConfig101.js]: getCertificateAuthority - name ca.org2.autentia-bchain.com
[2019-05-13 17:31:18.549] [DEBUG] Helper - [CertificateAuthority.js]: CertificateAuthority.const
[2019-05-13 17:31:18.549] [DEBUG] Helper - [NetworkConfig101.js]: getOrganization - name Org2
[2019-05-13 17:31:18.549] [DEBUG] Helper - [Organization.js]: Organization.const
[2019-05-13 17:31:18.549] [DEBUG] Helper - [NetworkConfig101.js]: getPeer - name peer0.org2.autentia-bchain.com, channel_org: undefined
[2019-05-13 17:31:18.549] [DEBUG] Helper - [NetworkConfig101.js]: getCertificateAuthority - name ca.org2.autentia-bchain.com
[2019-05-13 17:31:18.549] [DEBUG] Helper - [CertificateAuthority.js]: CertificateAuthority.const
[2019-05-13 17:31:18.549] [DEBUG] Helper - [NetworkConfig101.js]: _addPeersToChannel - peer0.org2.autentia-bchain.com - grpcs://localhost:8051
[2019-05-13 17:31:18.550] [DEBUG] Helper - [NetworkConfig101.js]: getPeer - name peer0.org3.autentia-bchain.com, channel_org: undefined
[2019-05-13 17:31:18.553] [DEBUG] Helper - [NetworkConfig101.js]: getOrganization - name Org1
[2019-05-13 17:31:18.553] [DEBUG] Helper - [Organization.js]: Organization.const
[2019-05-13 17:31:18.554] [DEBUG] Helper - [NetworkConfig101.js]: getPeer - name peer0.org1.autentia-bchain.com, channel_org: undefined
[2019-05-13 17:31:18.554] [DEBUG] Helper - [NetworkConfig101.js]: getCertificateAuthority - name ca.org1.autentia-bchain.com
[2019-05-13 17:31:18.554] [DEBUG] Helper - [CertificateAuthority.js]: CertificateAuthority.const
[2019-05-13 17:31:18.555] [DEBUG] Helper - [NetworkConfig101.js]: getOrganization - name Org2
[2019-05-13 17:31:18.555] [DEBUG] Helper - [Organization.js]: Organization.const
[2019-05-13 17:31:18.555] [DEBUG] Helper - [NetworkConfig101.js]: getPeer - name peer0.org2.autentia-bchain.com, channel_org: undefined
[2019-05-13 17:31:18.555] [DEBUG] Helper - [NetworkConfig101.js]: getCertificateAuthority - name ca.org2.autentia-bchain.com
[2019-05-13 17:31:18.555] [DEBUG] Helper - [CertificateAuthority.js]: CertificateAuthority.const
[2019-05-13 17:31:18.555] [DEBUG] Helper - [NetworkConfig101.js]: getOrganization - name Org3
[2019-05-13 17:31:18.555] [DEBUG] Helper - [Organization.js]: Organization.const
[2019-05-13 17:31:18.555] [DEBUG] Helper - [NetworkConfig101.js]: getPeer - name peer0.org3.autentia-bchain.com, channel_org: undefined
[2019-05-13 17:31:18.556] [DEBUG] Helper - [NetworkConfig101.js]: getCertificateAuthority - name ca.org3.autentia-bchain.com
[2019-05-13 17:31:18.556] [DEBUG] Helper - [CertificateAuthority.js]: CertificateAuthority.const
[2019-05-13 17:31:18.556] [DEBUG] Helper - [NetworkConfig101.js]: getOrganization - name Org3
[2019-05-13 17:31:18.556] [DEBUG] Helper - [Organization.js]: Organization.const
[2019-05-13 17:31:18.556] [DEBUG] Helper - [NetworkConfig101.js]: getPeer - name peer0.org3.autentia-bchain.com, channel_org: undefined
[2019-05-13 17:31:18.556] [DEBUG] Helper - [NetworkConfig101.js]: getCertificateAuthority - name ca.org3.autentia-bchain.com
[2019-05-13 17:31:18.556] [DEBUG] Helper - [CertificateAuthority.js]: CertificateAuthority.const
[2019-05-13 17:31:18.556] [DEBUG] Helper - [NetworkConfig101.js]: _addPeersToChannel - peer0.org3.autentia-bchain.com - grpcs://localhost:9051
[2019-05-13 17:31:18.556] [DEBUG] Helper - [NetworkConfig101.js]: getPeer - name peer0.org4.autentia-bchain.com, channel_org: undefined
[2019-05-13 17:31:18.557] [DEBUG] Helper - [NetworkConfig101.js]: getOrganization - name Org1
[2019-05-13 17:31:18.557] [DEBUG] Helper - [Organization.js]: Organization.const
[2019-05-13 17:31:18.557] [DEBUG] Helper - [NetworkConfig101.js]: getPeer - name peer0.org1.autentia-bchain.com, channel_org: undefined
[2019-05-13 17:31:18.557] [DEBUG] Helper - [NetworkConfig101.js]: getCertificateAuthority - name ca.org1.autentia-bchain.com
[2019-05-13 17:31:18.558] [DEBUG] Helper - [CertificateAuthority.js]: CertificateAuthority.const
[2019-05-13 17:31:18.558] [DEBUG] Helper - [NetworkConfig101.js]: getOrganization - name Org2
[2019-05-13 17:31:18.559] [DEBUG] Helper - [Organization.js]: Organization.const
[2019-05-13 17:31:18.559] [DEBUG] Helper - [NetworkConfig101.js]: getPeer - name peer0.org2.autentia-bchain.com, channel_org: undefined
[2019-05-13 17:31:18.559] [DEBUG] Helper - [NetworkConfig101.js]: getCertificateAuthority - name ca.org2.autentia-bchain.com
[2019-05-13 17:31:18.559] [DEBUG] Helper - [CertificateAuthority.js]: CertificateAuthority.const
[2019-05-13 17:31:18.559] [DEBUG] Helper - [NetworkConfig101.js]: getOrganization - name Org3
[2019-05-13 17:31:18.559] [DEBUG] Helper - [Organization.js]: Organization.const
[2019-05-13 17:31:18.559] [DEBUG] Helper - [NetworkConfig101.js]: getPeer - name peer0.org3.autentia-bchain.com, channel_org: undefined
[2019-05-13 17:31:18.559] [DEBUG] Helper - [NetworkConfig101.js]: getCertificateAuthority - name ca.org3.autentia-bchain.com
[2019-05-13 17:31:18.559] [DEBUG] Helper - [CertificateAuthority.js]: CertificateAuthority.const
[2019-05-13 17:31:18.560] [DEBUG] Helper - [NetworkConfig101.js]: getOrganization - name Org4
[2019-05-13 17:31:18.560] [DEBUG] Helper - [Organization.js]: Organization.const
[2019-05-13 17:31:18.560] [DEBUG] Helper - [NetworkConfig101.js]: getPeer - name peer0.org4.autentia-bchain.com, channel_org: undefined
[2019-05-13 17:31:18.560] [DEBUG] Helper - [NetworkConfig101.js]: getCertificateAuthority - name ca.org4.autentia-bchain.com
[2019-05-13 17:31:18.560] [DEBUG] Helper - [CertificateAuthority.js]: CertificateAuthority.const
[2019-05-13 17:31:18.560] [DEBUG] Helper - [NetworkConfig101.js]: getOrganization - name Org4
[2019-05-13 17:31:18.560] [DEBUG] Helper - [Organization.js]: Organization.const
[2019-05-13 17:31:18.560] [DEBUG] Helper - [NetworkConfig101.js]: getPeer - name peer0.org4.autentia-bchain.com, channel_org: undefined
[2019-05-13 17:31:18.560] [DEBUG] Helper - [NetworkConfig101.js]: getCertificateAuthority - name ca.org4.autentia-bchain.com
[2019-05-13 17:31:18.560] [DEBUG] Helper - [CertificateAuthority.js]: CertificateAuthority.const
[2019-05-13 17:31:18.561] [DEBUG] Helper - [NetworkConfig101.js]: _addPeersToChannel - peer0.org4.autentia-bchain.com - grpcs://localhost:10051
[2019-05-13 17:31:18.561] [DEBUG] Helper - [NetworkConfig101.js]: getOrderer - name orderer.autentia-bchain.com
[2019-05-13 17:31:18.563] [DEBUG] Helper - [DiscoveryEndorsementHandler]: initialize - 
当我执行channel.getChannelPeers()时,我会得到一个包含对等点的列表,其中包含正确的名称

[ ChannelPeer {
    _mspid: 'Org1MSP',
    _channel: 
     Channel {
       _name: 'auditoria-channel',
       _channel_peers: [Object],
       _anchor_peers: [],
       _orderers: [Object],
       _kafka_brokers: [],
       _clientContext: [Object],
       _msp_manager: [Object],
       _discovery_interests: [Object],
       _discovery_results: [Object],
       _last_discover_timestamp: 1557779840912,
       _use_discovery: true,
       _as_localhost: true,
       _endorsement_handler: [Object],
       _commit_handler: [Object],
       _last_refresh_request: [Object] },
    _name: 'peer0.org1.autentia-bchain.com',
    _peer: 
     Peer {
       _options: [Object],
       clientCert: undefined,
       _url: 'grpcs://localhost:7051',
       _endpoint: [Object],
       _name: 'peer0.org1.autentia-bchain.com',
       _request_timeout: 45000,
       _grpc_wait_for_ready_timeout: 3000,
       _endorserClient: [Object],
       _discoveryClient: [Object] },
    _roles: 
     { endorsingPeer: true,
       chaincodeQuery: true,
       ledgerQuery: true,
       eventSource: true } },
  ChannelPeer {
    _mspid: 'Org2MSP',
    _channel: 
     Channel {
       _name: 'auditoria-channel',
       _channel_peers: [Object],
       _anchor_peers: [],
       _orderers: [Object],
       _kafka_brokers: [],
       _clientContext: [Object],
       _msp_manager: [Object],
       _discovery_interests: [Object],
       _discovery_results: [Object],
       _last_discover_timestamp: 1557779840912,
       _use_discovery: true,
       _as_localhost: true,
       _endorsement_handler: [Object],
       _commit_handler: [Object],
       _last_refresh_request: [Object] },
    _name: 'peer0.org2.autentia-bchain.com',
    _peer: 
     Peer {
       _options: [Object],
       clientCert: undefined,
       _url: 'grpcs://localhost:8051',
       _endpoint: [Object],
       _name: 'peer0.org2.autentia-bchain.com',
       _request_timeout: 45000,
       _grpc_wait_for_ready_timeout: 3000,
       _endorserClient: [Object],
       _discoveryClient: [Object] },
    _roles: 
     { endorsingPeer: true,
       chaincodeQuery: true,
       ledgerQuery: true,
       eventSource: true } },
  ChannelPeer {
    _mspid: 'Org3MSP',
    _channel: 
     Channel {
       _name: 'auditoria-channel',
       _channel_peers: [Object],
       _anchor_peers: [],
       _orderers: [Object],
       _kafka_brokers: [],
       _clientContext: [Object],
       _msp_manager: [Object],
       _discovery_interests: [Object],
       _discovery_results: [Object],
       _last_discover_timestamp: 1557779840912,
       _use_discovery: true,
       _as_localhost: true,
       _endorsement_handler: [Object],
       _commit_handler: [Object],
       _last_refresh_request: [Object] },
    _name: 'peer0.org3.autentia-bchain.com',
    _peer: 
     Peer {
       _options: [Object],
       clientCert: undefined,
       _url: 'grpcs://localhost:9051',
       _endpoint: [Object],
       _name: 'peer0.org3.autentia-bchain.com',
       _request_timeout: 45000,
       _grpc_wait_for_ready_timeout: 3000,
       _endorserClient: [Object],
       _discoveryClient: [Object] },
    _roles: 
     { endorsingPeer: true,
       chaincodeQuery: true,
       ledgerQuery: true,
       eventSource: true } },
  ChannelPeer {
    _mspid: 'Org4MSP',
    _channel: 
     Channel {
       _name: 'auditoria-channel',
       _channel_peers: [Object],
       _anchor_peers: [],
       _orderers: [Object],
       _kafka_brokers: [],
       _clientContext: [Object],
       _msp_manager: [Object],
       _discovery_interests: [Object],
       _discovery_results: [Object],
       _last_discover_timestamp: 1557779840912,
       _use_discovery: true,
       _as_localhost: true,
       _endorsement_handler: [Object],
       _commit_handler: [Object],
       _last_refresh_request: [Object] },
    _name: 'peer0.org4.autentia-bchain.com',
    _peer: 
     Peer {
       _options: [Object],
       clientCert: undefined,
       _url: 'grpcs://localhost:10051',
       _endpoint: [Object],
       _name: 'peer0.org4.autentia-bchain.com',
       _request_timeout: 45000,
       _grpc_wait_for_ready_timeout: 3000,
       _endorserClient: [Object],
       _discoveryClient: [Object] },
    _roles: 

我们是否可以查看通道初始化时间的调试日志。查看从对等方的发现服务读入的发现结果会很有帮助。在认可计划中看到的对等方的名称不是来自发现服务,这是由NodeSDK分配的名称,这些名称应该是唯一的,并且包含主机和端口。由于它们不是唯一的,因此确实在使用同一个对等方。

当NodeSDK应用程序运行一级并在本地虚拟环境中使用结构网络时,对等方地址被视为“本地主机”,虚拟环境中的端口地址也必须是唯一的。在docker compose中,将虚拟端口映射到真实端口时,最容易使用相同的地址。请注意,在下面的示例中,虚拟环境中定义的端口地址与主机映射相同

    environment:
      - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
      - CORE_PEER_ID=peer0.org2.example.com
      - CORE_PEER_ADDRESS=peer0.org2.example.com:8051
      - CORE_PEER_LISTENADDRESS=peer0.org2.example.com:8051
      - CORE_PEER_GOSSIP_ENDPOINT=peer0.org2.example.com:8051
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:8051
      - CORE_PEER_LOCALMSPID=Org2MSP
      - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/peerOrg2/msp
      - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:8051

    ports:
      - 8051:8051
请记住,主机名还必须从虚拟名称映射到“localhost”,这是通过在初始化通道时使用连接选项“aslocalhost:true”完成的

await channel.initialize({discover:true, asLocalhost:true})
希望以下内容能有所帮助


嘿。请在打开JIRA并报告此问题。谢谢。刚刚发布了一些新日志,idk如何从对等方获取日志,我应该检查docker日志吗?谢谢,我验证了所有对等方的docker文件和对等方地址与peer0.org1具有相同的端口,因此我将它们更改为各自的端口,并得到了修复