- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我认为 Fabric 正试图在 Node 和排序 Node 意识到它们确实存在但与机器 IP 地址不匹配时立即发现它们。有没有办法为启用 TLS 的通信指定机器 IP 覆盖?
这是完整的日志
2020-04-25T02:52:32.615Z - error: [ServiceEndpoint]: Error: Failed to connect before the deadline on Committer- name: orderer.xxxx.com:7050, url:grpcs://orderer.xxxx.com:7050
2020-04-25T02:52:32.616Z - error: [ServiceEndpoint]: waitForReady - Failed to connect to remote gRPC server orderer.xxxx.com:7050 url:grpcs://orderer.xxxx.com:7050 timeout:3000
2020-04-25T02:52:32.616Z - error: [DiscoveryService]: _buildOrderer[evm] - Unable to connect to the discovered orderer orderer.xxxx.com:7050 due to Error: Failed to connect before the deadline on Committer- name: orderer.xxxx.com:7050, url:grpcs://orderer.xxxx.com:7050
2020-04-25T02:52:35.624Z - error: [ServiceEndpoint]: Error: Failed to connect before the deadline on Endorser- name: peer0.org1.xxxx.com:7051, url:grpcs://peer0.org1.xxxx.com:7051
2020-04-25T02:52:35.624Z - error: [ServiceEndpoint]: waitForReady - Failed to connect to remote gRPC server peer0.org1.xxxx.com:7051 url:grpcs://peer0.org1.xxxx.com:7051 timeout:3000
2020-04-25T02:52:35.624Z - error: [DiscoveryService]: _buildPeer[evm] - Unable to connect to the discovered peer peer0.org1.xxxx.com:7051 due to Error: Failed to connect before the deadline on Endorser- name: peer0.org1.xxxx.com:7051, url:grpcs://peer0.org1.xxxx.com:7051
2020-04-25T02:52:38.626Z - error: [ServiceEndpoint]: Error: Failed to connect before the deadline on Endorser- name: peer1.org1.xxxx.com:8051, url:grpcs://peer1.org1.xxxx.com:8051
2020-04-25T02:52:38.627Z - error: [ServiceEndpoint]: waitForReady - Failed to connect to remote gRPC server peer1.org1.xxxx.com:8051 url:grpcs://peer1.org1.xxxx.com:8051 timeout:3000
2020-04-25T02:52:38.627Z - error: [DiscoveryService]: _buildPeer[evm] - Unable to connect to the discovered peer peer1.org1.xxxx.com:8051 due to Error: Failed to connect before the deadline on Endorser- name: peer1.org1.xxxx.com:8051, url:grpcs://peer1.org1.xxxx.com:8051
2020-04-25T02:52:41.630Z - error: [ServiceEndpoint]: Error: Failed to connect before the deadline on Endorser- name: peer0.org2.xxxx.com:9051, url:grpcs://peer0.org2.xxxx.com:9051
2020-04-25T02:52:41.630Z - error: [ServiceEndpoint]: waitForReady - Failed to connect to remote gRPC server peer0.org2.xxxx.com:9051 url:grpcs://peer0.org2.xxxx.com:9051 timeout:3000
2020-04-25T02:52:41.630Z - error: [DiscoveryService]: _buildPeer[evm] - Unable to connect to the discovered peer peer0.org2.xxxx.com:9051 due to Error: Failed to connect before the deadline on Endorser- name: peer0.org2.xxxx.com:9051, url:grpcs://peer0.org2.xxxx.com:9051
2020-04-25T02:52:44.631Z - error: [ServiceEndpoint]: Error: Failed to connect before the deadline on Endorser- name: peer1.org2.xxxx.com:10051, url:grpcs://peer1.org2.xxxx.com:10051
2020-04-25T02:52:44.631Z - error: [ServiceEndpoint]: waitForReady - Failed to connect to remote gRPC server peer1.org2.xxxx.com:10051 url:grpcs://peer1.org2.xxxx.com:10051 timeout:3000
2020-04-25T02:52:44.631Z - error: [DiscoveryService]: _buildPeer[evm] - Unable to connect to the discovered peer peer1.org2.xxxx.com:10051 due to Error: Failed to connect before the deadline on Endorser- name: peer1.org2.xxxx.com:10051, url:grpcs://peer1.org2.xxxx.com:10051
2020-04-25T02:52:44.647Z - error: [SingleQueryHandler]: evaluate: message=Query failed. Errors: [], stack=FabricError: Query failed. Errors: []
at SingleQueryHandler.evaluate (/home/ubuntu/application-layer/node_modules/fabric-network/lib/impl/query/singlequeryhandler.js:45:23)
at Transaction.evaluate (/home/ubuntu/application-layer/node_modules/fabric-network/lib/transaction.js:287:49)
at Contract.evaluateTransaction (/home/ubuntu/application-layer/node_modules/fabric-network/lib/contract.js:115:45)
at main (/home/ubuntu/application-layer/query.js:52:39)
at processTicksAndRejections (internal/process/task_queues.js:97:5), name=FabricError
Failed to evaluate transaction: FabricError: Query failed. Errors: []
/*
* SPDX-License-Identifier: Apache-2.0
*/
'use strict';
const { Gateway, Wallets } = require('fabric-network');
const path = require('path');
const fs = require('fs');
async function main() {
try {
// load the network configuration
const ccpPath = path.resolve(__dirname, '..', 'first-network', 'connection-org1.json');
const ccp = JSON.parse(fs.readFileSync(ccpPath, 'utf8'));
// Create a new file system based wallet for managing identities.
const walletPath = path.join(process.cwd(), 'wallet');
const wallet = await Wallets.newFileSystemWallet(walletPath);
console.log(`Wallet path: ${walletPath}`);
// Check to see if we've already enrolled the user.
const identity = await wallet.get('appUser');
if (!identity) {
console.log('An identity for the user "appUser" does not exist in the wallet');
console.log('Run the registerUser.js application before retrying');
return;
}
// Create a new gateway for connecting to our peer node.
const gateway = new Gateway();
await gateway.connect(ccp, { wallet: wallet, identity: 'appUser', discovery: { enabled: true, asLocalhost: false } });
// Get the network (channel) our contract is deployed to.
const network = await gateway.getNetwork('evm');
// Get the contract from the network.
const contract = network.getContract('evmxxx');
// Evaluate the specified transaction.
const result = await contract.submitTransaction('getEVMAddress');
console.log(`Transaction has been evaluated, result is: ${result.toString()}`);
} catch (error) {
console.error(`Failed to evaluate transaction: ${error}`);
process.exit(1);
}
}
main();
{
"name": "first-network-org1",
"version": "1.0.0",
"client": {
"organization": "Org1",
"connection": {
"timeout": {
"peer": {
"endorser": "300"
}
}
}
},
"organizations": {
"Org1": {
"mspid": "Org1MSP",
"peers": [
"peer0.org1.xxxx.com",
"peer1.org1.xxxx.com"
],
"certificateAuthorities": [
"ca.org1.xxxx.com"
]
}
},
"peers": {
"peer0.org1.xxxx.com": {
"url": "grpcs://xxx.xx.xx.x:7051",
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----xxxx-----END CERTIFICATE-----\n"
},
"grpcOptions": {
"ssl-target-name-override": "peer0.org1.xxxx.com",
"hostnameOverride": "peer0.org1.xxxx.com",
"grpc.keepalive_timeout_ms":80000,
"grpc-max-send-message-length": -1,
"grpc.keepalive_time_ms": 600000,
"grpc.http2.min_time_between_pings_ms": 120000,
"grpc.http2.max_pings_without_data": 0,
"grpc.keepalive_permit_without_calls": 1
}
},
"peer1.org1.xxxx.com": {
"url": "grpcs://xxx.xx.xx.x:8051",
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----xxxx-----END CERTIFICATE-----\n"
},
"grpcOptions": {
"ssl-target-name-override": "peer1.org1.xxxx.com",
"hostnameOverride": "peer1.org1.xxxx.com",
"grpc.keepalive_timeout_ms":80000,
"grpc-max-send-message-length": -1,
"grpc.keepalive_time_ms": 600000,
"grpc.http2.min_time_between_pings_ms": 120000,
"grpc.http2.max_pings_without_data": 0,
"grpc.keepalive_permit_without_calls": 1
}
}
},
"certificateAuthorities": {
"ca.org1.xxxx.com": {
"url": "https://xxx.xx.xx.x:7054",
"caName": "ca-org1",
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----xxxx-----END CERTIFICATE-----\n"
},
"httpOptions": {
"verify": false
}
}
}
}
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#
# ---------------------------------------------------------------------------
# "OrdererOrgs" - Definition of organizations managing orderer nodes
# ---------------------------------------------------------------------------
OrdererOrgs:
# ---------------------------------------------------------------------------
# Orderer
# ---------------------------------------------------------------------------
- Name: Orderer
Domain: example.com
# ---------------------------------------------------------------------------
# "Specs" - See PeerOrgs below for complete description
# ---------------------------------------------------------------------------
Specs:
- Hostname: orderer
SANS:
- "xxx.xx.x.x"
- Hostname: orderer2
SANS:
- "xxx.xx.x.x"
- Hostname: orderer3
SANS:
- "xxx.xx.x.x"
- Hostname: orderer4
SANS:
- "xxx.xx.x.x"
- Hostname: orderer5
SANS:
- "xxx.xx.x.x"
# ---------------------------------------------------------------------------
# "PeerOrgs" - Definition of organizations managing peer nodes
# ---------------------------------------------------------------------------
PeerOrgs:
# ---------------------------------------------------------------------------
# Org1
# ---------------------------------------------------------------------------
- Name: Org1
Domain: Org1.example.com
EnableNodeOUs: true
# ---------------------------------------------------------------------------
# "Specs"
# ---------------------------------------------------------------------------
# Uncomment this section to enable the explicit definition of hosts in your
# configuration. Most users will want to use Template, below
#
# Specs is an array of Spec entries. Each Spec entry consists of two fields:
# - Hostname: (Required) The desired hostname, sans the domain.
# - CommonName: (Optional) Specifies the template or explicit override for
# the CN. By default, this is the template:
#
# "{{.Hostname}}.{{.Domain}}"
#
# which obtains its values from the Spec.Hostname and
# Org.Domain, respectively.
# ---------------------------------------------------------------------------
# Specs:
# - Hostname: foo # implicitly "foo.org1.example.com"
# CommonName: foo27.org5.example.com # overrides Hostname-based FQDN set above
# - Hostname: bar
# - Hostname: baz
# ---------------------------------------------------------------------------
# "Template"
# ---------------------------------------------------------------------------
# Allows for the definition of 1 or more hosts that are created sequentially
# from a template. By default, this looks like "peer%d" from 0 to Count-1.
# You may override the number of nodes (Count), the starting index (Start)
# or the template used to construct the name (Hostname).
#
# Note: Template and Specs are not mutually exclusive. You may define both
# sections and the aggregate nodes will be created for you. Take care with
# name collisions
# ---------------------------------------------------------------------------
Template:
Count: 2
SANS:
- "xxx.xx.x.x"
# Start: 5
# Hostname: {{.Prefix}}{{.Index}} # default
# ---------------------------------------------------------------------------
# "Users"
# ---------------------------------------------------------------------------
# Count: The number of user accounts _in addition_ to Admin
# ---------------------------------------------------------------------------
Users:
Count: 1
# ---------------------------------------------------------------------------
# Org2: See "Org1" for full specification
# ---------------------------------------------------------------------------
- Name: Org2
Domain: Org2.example.com
EnableNodeOUs: true
Template:
Count: 2
SANS:
- "xxx.xx.x.x"
Users:
Count: 1
最佳答案
我在我的项目中也遇到了这个错误。我把pem
在我的 connection_config.json
中不正确(我把文件的路径而不是实际的 key ,大声笑..)
把pem
放好后正确,它工作正常。所以,也许仔细检查 pem
tlsCaCerts
的属性并确保它们正确且格式正确。希望这会有所帮助。祝你好运!!!
关于node.js - Hyperledger Fabric 2.0.1 : Error: Failed to connect before the deadline on Discoverer- name:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61420539/
“Fail Early”是什么意思,在什么情况下这种方法最有用,你什么时候会避免这种方法? 最佳答案 本质上,快速失败 (又名 尽早失败 )是对您的软件进行编码,使得 当出现问题时,软件会尽快并尽可能
/* * 115200. Connect GPIO 0 of your ESP8266 to VCC and reset the board */ #include #include #inc
安装并注册 gitlab-runner 后,当我运行时 gitlab-runner start我收到此错误消息。这是什么原因? Runtime platform
我一直在尝试Windows Server 2016 TP5上的Windows容器。突然我在运行带有端口映射选项-p 80:80的容器时开始出错 c:\>docker run -it -p 80:80
我一直在关注 Hyperledger Fabric Multi-Org setup 的教程,我能够成功地做到这一点。现在我想根据我想要的组织名称对其进行自定义,并且在尝试连接网络时遇到以下错误。希望有
所以我不知道为什么这个测试失败了。当我运行 repl 中的语句时,一切似乎都正常工作,但 fiveam 测试失败。 以下要点中有一个测试用例:https://gist.github.com/Puerc
我安装了 Android Studio 1.2.1.1、Gradle 版本 2.2.1 和 Android 插件版本 1.2.3。我试图创建一个简单的 hello world 项目,它给了我一个构建失
我正在尝试设置一个简单的 WebTestCase,它使用 Symfony 4(和 "phpunit/phpunit": "^6.5")。但是,测试失败: Failed to start the ses
我已经使用 git clone 在本地克隆了一个包含 Vue 项目的 git 存储库. 然后我跑了npm install安装依赖项并获得 node_modules文件夹。 正在运行 npm run s
我有:http://windows.github.com/ 我当前的项目有大约 20k 个文件,大约 150MB(并且不说它有多慢而且我现在什么也做不了)它甚至不允许我提交!我收到此错误:提交失败:无
我正在使用 RxAndroidBle 库开发一个应用程序,该库大约每 30 秒定期执行 BLE 扫描,每分钟左右执行一些 BLE 操作。几个小时后,通常在 5 到 24 小时之间,扫描停止工作。每次应
每次我尝试使用 Pycharm 推送 GitHub 中的存储库时,它都会失败。 Push failed: fatal: Authentication failed for 'https://githu
此外,管理内置“管理结构”(如标题中的结构)的 Resque 的最佳实践是什么?我应该用 jedis.del(String key) 或类似的东西清除它们吗? 最佳答案 resque:failed 是
想象这样一种场景,我们想要在对“foo”和“bar”的并发请求成功完成后做一些事情,或者如果其中一个或两个失败则报告错误: $.when($.getJSON('foo'), $.getJSON('ba
这就是我所做的: 我使用的是 Windows XP SP3 我已经安装了 Python 2.7.1。 我下载了instantclient-basic-nt-11.2.0.3.0.zip,解压后放入C:
我已经设置了一个 vfsstream block 设备,我正在尝试对其调用 file_get_contents()。然而,对 vfsStreamWrapper::stream_open 的调用失败,因
我正在尝试在我的 React 应用程序中使用文件上传功能,但遇到了问题。当我尝试上传第一张图片时,它工作得很好。文件资源管理器对话框关闭并显示我的图片。用我的文件资源管理器中的另一张图片覆盖图片也可以
目标:将我的本地 mongodb 数据迁移到 mongodb atlas 集群。 尝试: 1.将本地数据导出为json。 2.导入json到集群。 操作系统:Linuxmint 19.1 Cinnam
我一直在从事一个需要在服务器(托管在 GCE 上)和多个客户端之间进行一些网络连接的项目。我创建了一个 Compute Engine 实例来运行 Python 脚本,如以下视频所示:https://w
我正在尝试使用 sqlx crate 和 Postgres 数据库连接到 Rust 中的数据库。 main.rs: use dotenv; use sqlx::Pool; use sqlx::PgPo
我是一名优秀的程序员,十分优秀!