I'm working with the Composer's "Deploying a Hyperledger Composer blockchain business network to Hyperledger Fabric" tutorial trying to setup my own network.
The only difference is that I integrated from the start a third organisation and when I'm calling the following command ./byfn.sh -m up -s couchdb -a
I'm not letting the chaincode install on to the peers. Because I'm going to install my own bna afterwards with composer. (I'm not really sure about this step, maybe I got this wrong.)
Moving forward with the tutorial, when I'm getting to the composer start network command, I'm receiving a strange error, that I could not find any reference anywhere.
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
Any ideea would be really great. Regards.
Update Information
Fabric 1.2
Composer v0.19.12
The channel is created, with the peers joining and updating the anchor peers, successfully.
This is the Endorsement Policy:
{
"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
}
]
}
}
This is the Connection Profile:
{
"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
}
}
}
}
client
section to the connection.json as per step 3 of the Multi-Org tutorial? – R Thatcher