在 Hyperledger fabric composer 中启动业务网络应用程序时出错——多主机对等环境
Error starting Business network application in Hyperledger fabric composer-- Multi host peer environment
我正在创建一个包含 5 个对等点的结构网络。
2 个节点、CA 和排序者 运行 在机器 1 上,
机器 2 上的 1 个 peer 和 couch 实例,
机器 3 上的 1 个 peer 和 couch 实例,
机器 4 上有 1 个 peer 和 couch 实例。
他们都在同一个频道。我能够将 .bna 安装到网络中。但是当我尝试使用 composer 工具启动应用程序时,使用以下命令
"composer network start -c PeerAdmin@hlfv1 -n blockv6 -V 0.0.1 -A admin -S adminpw"
我没有收到有效响应错误
✖ 开始业务网络定义。这可能需要一分钟...
错误:尝试启动业务网络时出错。错误:没有来自任何同行的有效响应。
来自尝试的对等通信的响应是一个错误:错误:2 未知:链码错误(状态:500,消息:不是有效的背书系统链码)
来自尝试的对等通信的响应是一个错误:错误:2 未知:链代码错误(状态:500,消息:未知链代码类型:NODE)
来自尝试的对等通信的响应是一个错误:错误:2 未知:链代码错误(状态:500,消息:未知链代码类型:NODE)
命令失败
下面是我的 createPeerAdmin 脚本的连接配置文件
{
"name": "hlfv1",
"x-type": "hlfv1",
"x-commitTimeout": 300,
"version": "1.0.0",
"client": {
"organization": "Org1",
"connection": {
"timeout": {
"peer": {
"endorser": "300",
"eventHub": "300",
"eventReg": "300"
},
"orderer": "300"
}
}
},
"channels": {
"composerchannel": {
"orderers": [
"orderer.example.com"
],
"peers": {
"peer0.org1.example.com": {},
"peer1.org1.example.com": {},
"peer2.org1.example.com": {},
"peer3.org1.example.com": {},
"peer4.org1.example.com": {}
}
}
},
"organizations": {
"Org1": {
"mspid": "Org1MSP",
"peers": [
"peer0.org1.example.com",
"peer1.org1.example.com",
"peer2.org1.example.com",
"peer3.org1.example.com",
"peer4.org1.example.com"
],
"certificateAuthorities": [
"ca.org1.example.com"
]
}
},
"orderers": {
"orderer.example.com": {
"url": "grpc://${HOST}:7050"
}
},
"peers": {
"peer0.org1.example.com": {
"url": "grpc://${HOST}:7051",
"eventUrl": "grpc://${HOST}:7053"
},
"peer1.org1.example.com": {
"url": "grpc://${HOST}:8051",
"eventUrl": "grpc://${HOST}:8053"
},
"peer2.org1.example.com": {
"url": "grpc://<machineIP>:9051"
},
"peer3.org1.example.com": {
"url": "grpc://<machineIP>:9051"
},
"peer4.org1.example.com": {
"url": "grpc://<machineIP>:9051"
}
},
"certificateAuthorities": {
"ca.org1.example.com": {
"url": "http://${HOST}:7054",
"caName": "ca.org1.example.com"
}
}
}
您的回复显示联系了 3 个对等方,他们每个人在实例化链代码时都遇到了问题。看起来您使用的是 composer 0.20,因此分解错误如下
- 错误:2 未知:链码错误(状态:500,消息:不是有效的背书系统链码)
如果您将 fabric 1.1 peer 与 composer 0.20 一起使用,则会出现上述错误,composer 0.20 与 fabric 1.1 peer 不兼容。
- 错误:2 未知:链码错误(状态:500,消息:未知链码类型:NODE)
如果您使用的是结构 1.0 对等点,则会出现上述错误。 fabric 1.1 中引入了链码类型的 NODE
所以我不知道您是如何设法在您的网络中混合这种结构对等级别的,但我建议您检查您的对等版本 运行 并确保它们如果你打算使用 composer 0.20,则都是 1.2。如果你想使用 fabric 1.1 确保你使用 composer 0.19.x
我看到的最后一点是您的连接配置文件中有一些 ${HOST} 定义,您已将其他定义替换为 <machineIP>
所以我假设那些 ${HOST} 条目没有被删除在您发布的示例中替换,而不是在您的真实连接配置文件中替换。
更改 composer 版本有助于解决此问题。
npm install -g composer-cli@0.19
我正在创建一个包含 5 个对等点的结构网络。
2 个节点、CA 和排序者 运行 在机器 1 上, 机器 2 上的 1 个 peer 和 couch 实例, 机器 3 上的 1 个 peer 和 couch 实例, 机器 4 上有 1 个 peer 和 couch 实例。
他们都在同一个频道。我能够将 .bna 安装到网络中。但是当我尝试使用 composer 工具启动应用程序时,使用以下命令
"composer network start -c PeerAdmin@hlfv1 -n blockv6 -V 0.0.1 -A admin -S adminpw"
我没有收到有效响应错误
✖ 开始业务网络定义。这可能需要一分钟... 错误:尝试启动业务网络时出错。错误:没有来自任何同行的有效响应。 来自尝试的对等通信的响应是一个错误:错误:2 未知:链码错误(状态:500,消息:不是有效的背书系统链码) 来自尝试的对等通信的响应是一个错误:错误:2 未知:链代码错误(状态:500,消息:未知链代码类型:NODE) 来自尝试的对等通信的响应是一个错误:错误:2 未知:链代码错误(状态:500,消息:未知链代码类型:NODE) 命令失败
下面是我的 createPeerAdmin 脚本的连接配置文件
{
"name": "hlfv1",
"x-type": "hlfv1",
"x-commitTimeout": 300,
"version": "1.0.0",
"client": {
"organization": "Org1",
"connection": {
"timeout": {
"peer": {
"endorser": "300",
"eventHub": "300",
"eventReg": "300"
},
"orderer": "300"
}
}
},
"channels": {
"composerchannel": {
"orderers": [
"orderer.example.com"
],
"peers": {
"peer0.org1.example.com": {},
"peer1.org1.example.com": {},
"peer2.org1.example.com": {},
"peer3.org1.example.com": {},
"peer4.org1.example.com": {}
}
}
},
"organizations": {
"Org1": {
"mspid": "Org1MSP",
"peers": [
"peer0.org1.example.com",
"peer1.org1.example.com",
"peer2.org1.example.com",
"peer3.org1.example.com",
"peer4.org1.example.com"
],
"certificateAuthorities": [
"ca.org1.example.com"
]
}
},
"orderers": {
"orderer.example.com": {
"url": "grpc://${HOST}:7050"
}
},
"peers": {
"peer0.org1.example.com": {
"url": "grpc://${HOST}:7051",
"eventUrl": "grpc://${HOST}:7053"
},
"peer1.org1.example.com": {
"url": "grpc://${HOST}:8051",
"eventUrl": "grpc://${HOST}:8053"
},
"peer2.org1.example.com": {
"url": "grpc://<machineIP>:9051"
},
"peer3.org1.example.com": {
"url": "grpc://<machineIP>:9051"
},
"peer4.org1.example.com": {
"url": "grpc://<machineIP>:9051"
}
},
"certificateAuthorities": {
"ca.org1.example.com": {
"url": "http://${HOST}:7054",
"caName": "ca.org1.example.com"
}
}
}
您的回复显示联系了 3 个对等方,他们每个人在实例化链代码时都遇到了问题。看起来您使用的是 composer 0.20,因此分解错误如下
- 错误:2 未知:链码错误(状态:500,消息:不是有效的背书系统链码)
如果您将 fabric 1.1 peer 与 composer 0.20 一起使用,则会出现上述错误,composer 0.20 与 fabric 1.1 peer 不兼容。
- 错误:2 未知:链码错误(状态:500,消息:未知链码类型:NODE)
如果您使用的是结构 1.0 对等点,则会出现上述错误。 fabric 1.1 中引入了链码类型的 NODE
所以我不知道您是如何设法在您的网络中混合这种结构对等级别的,但我建议您检查您的对等版本 运行 并确保它们如果你打算使用 composer 0.20,则都是 1.2。如果你想使用 fabric 1.1 确保你使用 composer 0.19.x
我看到的最后一点是您的连接配置文件中有一些 ${HOST} 定义,您已将其他定义替换为 <machineIP>
所以我假设那些 ${HOST} 条目没有被删除在您发布的示例中替换,而不是在您的真实连接配置文件中替换。
更改 composer 版本有助于解决此问题。
npm install -g composer-cli@0.19