【发布时间】:2018-09-03 14:53:52
【问题描述】:
我正在使用 Composer 的“将 Hyperledger Composer 区块链业务网络部署到 Hyperledger Fabric”教程,尝试设置我自己的网络。
唯一的区别是我从一开始就集成了第三个组织,当我调用以下命令 ./byfn.sh -m up -s couchdb -a 时,我不会让链代码安装到对等方。因为我之后会用composer安装我自己的bna。 (我不太确定这一步,可能是我弄错了。)
继续学习本教程,当我使用 composer start network 命令时,我收到一个奇怪的错误,我无法在任何地方找到任何参考。
composer network start -c PeerAdmin@testManager -n test-network -V 0.0.10 -o endorsementPolicyFile=/tmp/composer/endorsement-policy.json -A andreim -C andreim/admin-pub.pem -A andreis -C andreis/admin-pub.pem -A andreii -C andreii/admin-pub.pem
Error: Error trying to start business network. Error: Parameter must be a ProposalResponse Object
任何想法都会很棒。 问候。
更新信息
面料 1.2
作曲家 v0.19.12
通道已创建,节点成功加入并更新锚节点。
这是背书政策:
{
"identities": [
{
"role": {
"name": "member",
"mspId": "ManagerMSP"
}
},
{
"role": {
"name": "member",
"mspId": "SponsorMSP"
}
},
{
"role": {
"name": "member",
"mspId": "InsurerMSP"
}
}
],
"policy": {
"3-of": [
{
"signed-by": 0
},
{
"signed-by": 1
},
{
"signed-by": 2
}
]
}
}
这是连接配置文件:
{
"name": "test-network",
"x-type": "hlfv1",
"version": "1.0.0",
"channels": {
"mychannel": {
"orderers": [
"orderer.test.com"
],
"peers": {
"peer0.manager.test.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"ledgerQuery": true,
"eventSource": true
},
"peer1.manager.test.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"ledgerQuery": true,
"eventSource": true
},
"peer0.sponsor.test.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"ledgerQuery": true,
"eventSource": true
},
"peer1.sponsor.test.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"ledgerQuery": true,
"eventSource": true
},
"peer0.insurer.test.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"ledgerQuery": true,
"eventSource": true
},
"peer1.insurer.test.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"ledgerQuery": true,
"eventSource": true
}
}
}
},
"organizations": {
"Manager": {
"mspid": "ManagerMSP",
"peers": [
"peer0.manager.test.com",
"peer1.manager.test.com"
],
"certificateAuthorities": [
"ca.manager.test.com"
]
},
"Sponsor": {
"mspid": "SponsorMSP",
"peers": [
"peer0.sponsor.test.com",
"peer1.sponsor.test.com"
],
"certificateAuthorities": [
"ca.sponsor.test.com"
]
},
"Insurer": {
"mspid": "InsurerMSP",
"peers": [
"peer0.insurer.test.com",
"peer1.insurer.test.com"
],
"certificateAuthorities": [
"ca.insurer.test.com"
]
}
},
"orderers": {
"orderer.test.com": {
"url": "grpcs://localhost:7050",
"grpcOptions": {
"ssl-target-name-override": "orderer.test.com"
},
"tlsCACerts": {
"pem": "INSERT_ORDERER_CA_CERT"
}
}
},
"peers": {
"peer0.manager.test.com": {
"url": "grpcs://localhost:7051",
"eventUrl": "grpcs://localhost:7053",
"grpcOptions": {
"ssl-target-name-override": "peer0.manager.test.com"
},
"tlsCACerts": {
"pem": "INSERT_MANAGER_CA_CERT"
}
},
"peer1.manager.test.com": {
"url": "grpcs://localhost:8051",
"eventUrl": "grpcs://localhost:8053",
"grpcOptions": {
"ssl-target-name-override": "peer1.manager.test.com"
},
"tlsCACerts": {
"pem": "INSERT_MANAGER_CA_CERT"
}
},
"peer0.sponsor.test.com": {
"url": "grpcs://localhost:9051",
"eventUrl": "grpcs://localhost:9053",
"grpcOptions": {
"ssl-target-name-override": "peer0.sponsor.test.com"
},
"tlsCACerts": {
"pem": "INSERT_SPONSOR_CA_CERT"
}
},
"peer1.sponsor.test.com": {
"url": "grpcs://localhost:10051",
"eventUrl": "grpcs://localhost:10053",
"grpcOptions": {
"ssl-target-name-override": "peer1.sponsor.test.com"
},
"tlsCACerts": {
"pem": "INSERT_SPONSOR_CA_CERT"
}
},
"peer0.insurer.test.com": {
"url": "grpcs://localhost:11051",
"eventUrl": "grpcs://localhost:11053",
"grpcOptions": {
"ssl-target-name-override": "peer0.insurer.test.com"
},
"tlsCACerts": {
"pem": "INSERT_INSURER_CA_CERT"
}
},
"peer1.insurer.test.com": {
"url": "grpcs://localhost:12051",
"eventUrl": "grpcs://localhost:12053",
"grpcOptions": {
"ssl-target-name-override": "peer1.insurer.test.com"
},
"tlsCACerts": {
"pem": "INSERT_INSURER_CA_CERT"
}
}
},
"certificateAuthorities": {
"ca.manager.test.com": {
"url": "https://localhost:7054",
"caName": "ca-manager",
"httpOptions": {
"verify": false
}
},
"ca.sponsor.test.com": {
"url": "https://localhost:8054",
"caName": "ca-sponsor",
"httpOptions": {
"verify": false
}
},
"ca.insurer.test.com": {
"url": "https://localhost:9054",
"caName": "ca-insurer",
"httpOptions": {
"verify": false
}
}
}
}
【问题讨论】:
-
你有什么版本的 Composer 和 Fabric? (以及什么操作系统)即使您说您不让链码安装 - 是否创建了通道并让对等方加入了它?你能分享你的背书政策和connection.json吗?
-
我添加了更多信息。感谢您的帮助。
-
您是否按照 Multi-Org 教程的第 3 步将
client部分添加到 connection.json? -
是的,我有一个添加客户端部分、pem 证书等的脚本。
-
您正在尝试将 composer 0.19 与 fabric 1.2 一起使用,它们不兼容。您需要使用 Fabric 1.1 或升级到 composer 0.20
标签: docker hyperledger-fabric hyperledger hyperledger-composer