当前位置: 首页 > 知识库问答 >
问题:

Hyperledger fabric 2.0.1与4订购方的连接配置文件面临问题

王旺
2023-03-14

下面是我在尝试连接hyperledger fabric networkv2的organization-1的连接配置文件。0.1使用javascript。我指的是测试网络。当我试图查询或调用时,我已经创建了5个有序的2组织,我面临一个错误,如下所示。请帮帮我

(节点: 18278)UnhandledPromiseRejingWarning:错误:背书必须连接在Channel.add背书(/用户/nagaraj/gowork/src/github.com/hyperledger-fabric-2.0/javascript/node_modules/fabric-common/lib/Channel.js: 259:10)在构建通道(/用户/nagaraj/gowork/src/github.com/hyperledger-fabric-2.0/javascript/node_modules/fabric-network/lib/impl/ccp/networkconfig.js: 52:21)在Function.loadFromConfig(/用户/nagaraj/gowork/src/github.com/hyperledger-fabric-2.0/javascript/node_modules/fabric-network/lib/impl/ccp/networkconfig.js: 37:17)在进程TicksAndRejments(内部/进程/task_queues.js:97: 5)在异步Gateway.connect(/用户/nagaraj/gowork/src/github.com/hyhtml" target="_blank">perledger-fabric-2.0/javascript/node_modules/fabric-network/lib/gateway.js: 171:13)在异步主(/用户/nagaraj/gowork/src/github.com/hyperledger-fabric-2.0/javascript/invoke.js: 32:9)(节点: 18278)UnhandledPromiseRejingWarning:未处理的promise拒绝。此错误是由于将异步函数抛入没有捕获块的内部而引起的,或者是由于拒绝了未用. cat()处理的promise。要在未处理的promise拒绝时终止节点进程,请使用CLI标志--unhandd-rejments=严格(请参见https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。(拒绝id: 1)

2020-05-14T07:43:29.964Z-错误:[ServiceEndpoint]:错误:未能在提交者的截止日期之前连接-名称:Order1。实例com:7050,网址:grpcs://localhost:70502020-05-14T07:43:29.966Z-错误:[ServiceEndpoint]:waitForReady-无法连接到远程gRPC服务器Order1。实例com:7050网址:grpcs://localhost:7050超时:3000 2020-05-14T07:43:29.966Z-错误:[DiscoveryService]:_buildOrderer[mychannel]-无法连接到发现的orderer Order1。实例com:7050由于错误:未能在提交者的截止日期之前连接-名称:Order1。实例com:7050,网址:grpcs://localhost:7050

{
    "name": "test-network-org1",
    "version": "1.0.0",
    "client": {
        "organization": "Org1",
        "connection": {
            "timeout": {
                "peer": {
                    "endorser": "300"
                }
            }
        }
    },
    "channels": {
        "mychannel": {
            "orderers": [
                "orderer.example.com",
                "orderer1.example.com",
                "orderer2.example.com",
                "orderer3.example.com",
                "orderer4.example.com"
            ],
            "peers": [
                "peer0.org1.example.com",
                "peer0.org1.example.com"
            ]
        }
    },
    "organizations": {
        "Org1": {
            "mspid": "Org1MSP",
            "peers": [
                "peer0.org1.example.com"
            ],
            "certificateAuthorities": [
                "ca.org1.example.com"
            ]
        }
    },
    "orderers": {
        "orderer.example.com": {
            "url": "grpcs://localhost:7050",
            "grpcOptions": {
                "ssl-target-name-override": "orderer.example.com"
            },
            "tlsCACerts": {
                "pem": "-----BEGIN CERTIFICATE-----\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n -----END CERTIFICATE-----\n"
            }
        },
        "orderer1.example.com": {
            "url": "grpcs://localhost:7082",
            "grpcOptions": {
                "ssl-target-name-override": "orderer1.example.com"
            },
            "tlsCACerts": {
                "pem": "-----BEGIN CERTIFICATE-----\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n -----END CERTIFICATE-----\n"
            }
        },
        "orderer2.example.com": {
            "url": "grpcs://localhost:7084",
            "grpcOptions": {
                "ssl-target-name-override": "orderer2.example.com"
            },
            "tlsCACerts": {
                "pem": "-----BEGIN CERTIFICATE-----\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n -----END CERTIFICATE-----\n"
            }
        },
        "orderer3.example.com": {
            "url": "grpcs://localhost:7086",
            "grpcOptions": {
                "ssl-target-name-override": "orderer3.example.com"
            },
            "tlsCACerts": {
                "pem": "-----BEGIN CERTIFICATE-----\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n -----END CERTIFICATE-----\n"
            }
        },
        "orderer4.example.com": {
            "url": "grpcs://localhost:7088",
            "grpcOptions": {
                "ssl-target-name-override": "orderer4.example.com"
            },
            "tlsCACerts": {
                "pem": "-----BEGIN CERTIFICATE-----\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n -----END CERTIFICATE-----\n"
            }
        }
    },
    "peers": {
        "peer0.org1.example.com": {
            "url": "grpcs://localhost:7051",
            "tlsCACerts": {
                "pem": "-----BEGIN CERTIFICATE-----\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n-----END CERTIFICATE-----\n"
            },
            "grpcOptions": {
                "ssl-target-name-override": "peer0.org1.example.com",
                "hostnameOverride": "peer0.org1.example.com"
            }
        },
        "peer1.org1.example.com": {
            "url": "grpcs://localhost:7062",
            "tlsCACerts": {
                "pem": "-----BEGIN CERTIFICATE-----\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n-----END CERTIFICATE-----\n"
            },
            "grpcOptions": {
                "ssl-target-name-override": "peer1.org1.example.com",
                "hostnameOverride": "peer1.org1.example.com"
            }
        }
    },
    "certificateAuthorities": {
        "ca.org1.example.com": {
            "url": "https://localhost:7054",
            "caName": "ca-org1",
            "tlsCACerts": {
                "pem": "-----BEGIN CERTIFICATE-----\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n-----END CERTIFICATE-----\n"
            },
            "httpOptions": {
                "verify": false
            }
        }
    }
}


共有1个答案

韦衡
2023-03-14

背书属性定义不正确,通道块下的对等点定义错误。这就是为什么它会抛出代言人问题。添加突出显示的更改。

  "channels": {
    "mychannel": {
        "orderers": [
            "orderer.example.com",
            "orderer1.example.com",
            "orderer2.example.com",
            "orderer3.example.com",
            "orderer4.example.com"
        ],
        "peers": [
            "peer0.org1.example.com",
            "peer0.org1.example.com"   //this should be "peer1.org1.example.com"      
        ]
    }
},

连接配置文件还应该包括支持Peer属性和其他细节,如下面给出的。

1.4结构网络示例网络连接配置文件

  name: "Network"
version: "1.0"

channels:
  mychannel:
    orderers:
      - orderer.example.com
    peers:
      peer0.org1.example.com:
        endorsingPeer: true
        chaincodeQuery: true
        ledgerQuery: true
        eventSource: true
      peer0.org2.example.com:
        endorsingPeer: true
        chaincodeQuery: false
        ledgerQuery: true
        eventSource: false

organizations:
  Org1:
    mspid: Org1MSP
    peers:
      - peer0.org1.example.com
    certificateAuthorities:
      - ca-org1
    adminPrivateKey:
      path: test/fixtures/channel/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/keystore/9022d671ceedbb24af3ea69b5a8136cc64203df6b9920e26f48123fcfcb1d2e9_sk
    signedCert:
      path: test/fixtures/channel/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/signcerts/Admin@org1.example.com-cert.pem

  Org2:
    mspid: Org2MSP
    peers:
      - peer0.org2.example.com
    certificateAuthorities:
      - ca-org2
    adminPrivateKey:
      path: test/fixtures/channel/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/keystore/5a983ddcbefe52a7f9b8ee5b85a590c3e3a43c4ccd70c7795bec504e7f74848d_sk
    signedCert:
      path: test/fixtures/channel/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/signcerts/Admin@org2.example.com-cert.pem

orderers:
  orderer.example.com:
    url: grpcs://localhost:7050
    grpcOptions:
      ssl-target-name-override: orderer.example.com
      grpc-max-send-message-length: 4194304
    tlsCACerts:
      path: test/fixtures/channel/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tlscacerts/example.com-cert.pem

peers:
  peer0.org1.example.com:
    url: grpcs://localhost:7051
    grpcOptions:
      ssl-target-name-override: peer0.org1.example.com
      grpc.keepalive_time_ms: 600000
    tlsCACerts:
      path: test/fixtures/channel/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tlscacerts/org1.example.com-cert.pem

  peer0.org2.example.com:
    url: grpcs://localhost:8051
    grpcOptions:
      ssl-target-name-override: peer0.org2.example.com
    tlsCACerts:
      path: test/fixtures/channel/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tlscacerts/org2.example.com-cert.pem

certificateAuthorities:
  ca-org1:
    url: https://localhost:7054
    httpOptions:
      verify: false
    tlsCACerts:
      path: test/fixtures/channel/crypto-config/peerOrganizations/org1.example.com/ca/org1.example.com-cert.pem
    registrar:
      - enrollId: admin
        enrollSecret: adminpw
    caName: caorg1

  ca-org2:
    url: https://localhost:8054
    httpOptions:
      verify: false
    tlsCACerts:
      path: test/fixtures/channel/crypto-config/peerOrganizations/org2.example.com/ca/org2.example.com-cert.pem
    registrar:
      - enrollId: admin
        enrollSecret: adminpw
    caName: caorg2
 类似资料:
  • Hyperledger Composer使用连接配置文件连接到运行时。 创建连接配置文件 1.创建一个名为connection.json的新文件,其中包含Hyperledger Fabric v1.0的以下信息。} 为Hyperledger Fabric v1.0创建连接配置文件,使用以下格式: { "type": "hlfv1", "orderers":

  • 我让RabbitMQ在CloudFoundry中运行,并尝试从本地运行的配置服务器进行连接,下面是在应用程序中配置的内容。yml文件 抛出以下启动异常 下面是pom.xml的依赖关系 我可以使用应用程序中提供的信息连接到控制台。yml但不确定为什么会抛出TimeoutException,任何输入都会非常有用,

  • 问题内容: 我有一个Vehicles的PriorityQueue,其中有一个项目未正确订购。我认为我的compareTo中有些东西很奇怪,但是我找不到它。 我有一个主类,它创建PriorityQueue,创建一堆Vehicle对象,然后将它们添加到队列中。 我期望这个输出: 但是我得到了这个: 问题答案: 您的队列和方法可能正常工作。请注意API关于它的说明: 此类及其迭代器实现Collectio

  • 4.1. 必要的配置项 Yaf和用户共用一个配置空间, 也就是在Yaf_Application初始化时刻给出的配置文件中的配置. 作为区别, Yaf的配置项都以ap开头. Yaf的核心必不可少的配置项只有一个(其实, 这个也可以有默认参数,但是作者觉得完全没有配置, 显得太寒酸了). 注意 Yaf通过在不同的环境中, 选取不同的配置节, 再结合配置可继承, 来实现一套配置适应多种环境(线上,测试,

  • 我的Spring Boot应用程序JPA配置有一个问题。我有两个配置文件-dev(H2 db)和prod(PostgreSQL)。我想在没有Spring Boot“Magic”的情况下手动设置JPA,所以我创建了如下所示的配置类 我发现这可能是的问题,因为当我在PersistenceContext类中通过属性映射设置该属性时,它可以正常工作。我不知道如何通过属性文件正确设置它。事先谢谢你的帮助。

  • 我有本地回购。我创建了整个应用程序,但现在我想把它推到远程回购。我已经有远程回购以及。我怎样才能连接这两个回购而不失去任何工作,我已经做了?