尝试作曲家网络启动时出现对等错误
Peer error when trying composer network start
我正在尝试在对等节点上启动 运行ning 我的链代码,但是当我这样做时,我的对等节点日志中出现以下错误:
simulateProposal() resulted in chaincode name:"lscc" response status
500 for txid
使用的命令:
mv ~/Downloads/creds_*_org2.json ./connection-profiles/${CHANNEL_NAME}/connection-profile-lessor.json
composer card create -f ca_Org2.card -p ./connection-profiles/${CHANNEL_NAME}/connection-profile-lessor.json -u admin -s ${LESSOR_SECRET}
composer card import -f ca_Org2.card -c ca_Org2
composer identity request --card ca_Org2 --path ./credentials/${CHANNEL_NAME}/lessor -u admin -s ${LESSOR_SECRET}
#Then sync reqeusted cert onto starter plan
composer card create -f adminCard_Org2-${CHANNEL_NAME}.card -p ./connection-profiles/${CHANNEL_NAME}/connection-profile-lessor.json -u admin -c ./credentials/${CHANNEL_NAME}/lessor/admin-pub.pem -k ./credentials/${CHANNEL_NAME}/lessor/admin-priv.pem --role PeerAdmin --role ChannelAdmin
composer card import -f adminCard_Org2-${CHANNEL_NAME}.card -c adminCardLessor-${CHANNEL_NAME}
composer network install -c adminCardLessor-${CHANNEL_NAME} -a ./contracts/blockaviation/dist/block-aviation-network.bna
composer network start -c adminCardLessor-defaultchannel -n block-aviation-network -V 0.0.1 -A admin -C ./credentials/defaultchannel/lessor/admin-pub.pem -f delete_me.card
我的终端出现以下错误:
composer network start -c adminCardLessor-defaultchannel -n block-aviation-network -V 0.0.1 -A admin -C ./credentials/defaultchannel/lessor/admin-pub.pem -f delete_me.card
Starting business network block-aviation-network at version 0.0.1
Processing these Network Admins:
userName: admin
✖ Starting business network definition. This may take a minute...
Error: Error trying to start business network. Error: No valid responses from any peers.
Response from attempted peer comms was an error: Error: 2 UNKNOWN: chaincode error (status: 500, message: chaincode exists block-aviation-network)
Command failed
有人知道我做错了什么吗?
上述命令适用于我网络中的第一个组织,但对所有其他组织均失败并出现上述错误。
如果我对为 org1 创建的卡执行 ping 操作,我会得到以下结果:
composer network ping -c admin@block-aviation-network
The connection to the network was successfully tested: block-aviation-network
Business network version: 0.0.1
Composer runtime version: 0.19.5
participant: org.hyperledger.composer.system.NetworkAdmin#admin
identity: org.hyperledger.composer.system.Identity#818307ea1e01cc0c691d856cc747e9a721e8424b420b73c0b2e4ce1ce406fbf3
Package.json:
{
"engines": {
"composer": "^0.19.9"
},
"name": "block-aviation-network",
"version": "0.0.1",
"description": "Smart aircraft leasing Business Network",
"scripts": {
"pretest": "",
"lint": "eslint .",
"postlicchk": "npm run doc",
"doc": "jsdoc --pedantic --recurse -c jsdoc.json",
"test": "mocha -t 0 --recursive",
"deployNetwork": "./deployNetwork.sh"
},
"author": "Simon Mullaney",
"email": "simonpmullaney@gmail.com",
"license": "Apache-2.0",
"devDependencies": {
"@types/googlemaps": "^3.30.7",
"browserfs": "^1.2.0",
"chai": "latest",
"composer-admin": "^0.18.1",
"composer-client": "^0.18.1",
"composer-common": "^0.18.1",
"composer-connector-embedded": "^0.18.1",
"composer-playground-api": "^0.18.1",
"composer-runtime": "^0.19.9",
"composer-runtime-web": "^0.18.1",
"eslint": "latest",
"istanbul": "latest",
"jsdoc": "latest",
"mkdirp": "latest",
"mocha": "latest",
"moment": "latest",
"passport-github": "^1.1.0",
"sinon": "latest"
},
"license-check-config": {
"src": [
"**/*.js",
"!./coverage/**/*",
"!./node_modules/**/*",
"!./out/**/*",
"!./scripts/**/*"
],
"path": "header.txt",
"blocking": true,
"logInfo": false,
"logError": true
},
"dependencies": {
"angular2-google-maps": "^0.17.0",
"es6-promise": "latest",
"fabric-client": "^1.0.4",
"grpc": "1.10.1",
"opentracing": "^0.14.1",
"passport-github": "^1.1.0",
"isomorphic-fetch": "latest"
}
}
我不明白为什么它适用于我的第一个组织而不适用于我的其他组织?
编辑:
我将网络上的链代码更新到版本 0.0.2 - 现在 package.json 和网络具有相同版本的作曲家 - 0.19.9
composer network ping -c admin@block-aviation-network
The connection to the network was successfully tested: block-aviation-network
Business network version: 0.0.2
Composer runtime version: 0.19.9
participant: org.hyperledger.composer.system.NetworkAdmin#admin
identity: org.hyperledger.composer.system.Identity#818307ea1e01cc0c691d856cc747e9a721e8424b420b73c0b2e4ce1ce406fbf3
尽管第一个组织中的链代码仍然会 运行 - 所有其他组织都会遇到与上述相同的错误。
如果我继续执行创建业务网卡以在 org2 的业务网络上使用的命令,我将得到以下信息:
composer card create -n block-aviation-network -p ./connection-profiles/${CHANNEL_NAME}/connection-profile-lessor.json -u lessor -c ./credentials/${CHANNEL_NAME}/lessor/admin-pub.pem -k ./credentials/${CHANNEL_NAME}/lessor/admin-priv.pem
composer card import -f ./lessor@block-aviation-network.card
composer network ping -c lessor@block-aviation-network
Error: Error trying to ping. Error: 2 UNKNOWN: error executing chaincode: could not get ChaincodeDeploymentSpec for block-aviation-network:0.0.2: get ChaincodeDeploymentSpec for block-aviation-network/defaultchannel from LSCC error: chaincode fingerprint mismatch data mismatch
Command failed
我没有在 IBM Starter Plan 中尝试过这个,但是基于 Composer Multi Org tutorial 你为每个组织安装一次网络,但是你只为每个网络启动一次网络,并且你提供来自两个组织的管理员证书组织上composer network start
命令。
所以我认为您看到的是 Org 2 的网络已经 运行,但是 Org 2 的管理员没有访问权限,因为它没有在启动命令行上指定。
您需要在网络的所有对等点上执行“composer 网络安装”。然后是一个“composer network start”命令。
如果不能升级网络 - 尝试使用“composer network upgrade”命令。应该管用。
我正在尝试在对等节点上启动 运行ning 我的链代码,但是当我这样做时,我的对等节点日志中出现以下错误:
simulateProposal() resulted in chaincode name:"lscc" response status 500 for txid
使用的命令:
mv ~/Downloads/creds_*_org2.json ./connection-profiles/${CHANNEL_NAME}/connection-profile-lessor.json
composer card create -f ca_Org2.card -p ./connection-profiles/${CHANNEL_NAME}/connection-profile-lessor.json -u admin -s ${LESSOR_SECRET}
composer card import -f ca_Org2.card -c ca_Org2
composer identity request --card ca_Org2 --path ./credentials/${CHANNEL_NAME}/lessor -u admin -s ${LESSOR_SECRET}
#Then sync reqeusted cert onto starter plan
composer card create -f adminCard_Org2-${CHANNEL_NAME}.card -p ./connection-profiles/${CHANNEL_NAME}/connection-profile-lessor.json -u admin -c ./credentials/${CHANNEL_NAME}/lessor/admin-pub.pem -k ./credentials/${CHANNEL_NAME}/lessor/admin-priv.pem --role PeerAdmin --role ChannelAdmin
composer card import -f adminCard_Org2-${CHANNEL_NAME}.card -c adminCardLessor-${CHANNEL_NAME}
composer network install -c adminCardLessor-${CHANNEL_NAME} -a ./contracts/blockaviation/dist/block-aviation-network.bna
composer network start -c adminCardLessor-defaultchannel -n block-aviation-network -V 0.0.1 -A admin -C ./credentials/defaultchannel/lessor/admin-pub.pem -f delete_me.card
我的终端出现以下错误:
composer network start -c adminCardLessor-defaultchannel -n block-aviation-network -V 0.0.1 -A admin -C ./credentials/defaultchannel/lessor/admin-pub.pem -f delete_me.card
Starting business network block-aviation-network at version 0.0.1
Processing these Network Admins:
userName: admin
✖ Starting business network definition. This may take a minute...
Error: Error trying to start business network. Error: No valid responses from any peers.
Response from attempted peer comms was an error: Error: 2 UNKNOWN: chaincode error (status: 500, message: chaincode exists block-aviation-network)
Command failed
有人知道我做错了什么吗?
上述命令适用于我网络中的第一个组织,但对所有其他组织均失败并出现上述错误。
如果我对为 org1 创建的卡执行 ping 操作,我会得到以下结果:
composer network ping -c admin@block-aviation-network
The connection to the network was successfully tested: block-aviation-network
Business network version: 0.0.1
Composer runtime version: 0.19.5
participant: org.hyperledger.composer.system.NetworkAdmin#admin
identity: org.hyperledger.composer.system.Identity#818307ea1e01cc0c691d856cc747e9a721e8424b420b73c0b2e4ce1ce406fbf3
Package.json:
{
"engines": {
"composer": "^0.19.9"
},
"name": "block-aviation-network",
"version": "0.0.1",
"description": "Smart aircraft leasing Business Network",
"scripts": {
"pretest": "",
"lint": "eslint .",
"postlicchk": "npm run doc",
"doc": "jsdoc --pedantic --recurse -c jsdoc.json",
"test": "mocha -t 0 --recursive",
"deployNetwork": "./deployNetwork.sh"
},
"author": "Simon Mullaney",
"email": "simonpmullaney@gmail.com",
"license": "Apache-2.0",
"devDependencies": {
"@types/googlemaps": "^3.30.7",
"browserfs": "^1.2.0",
"chai": "latest",
"composer-admin": "^0.18.1",
"composer-client": "^0.18.1",
"composer-common": "^0.18.1",
"composer-connector-embedded": "^0.18.1",
"composer-playground-api": "^0.18.1",
"composer-runtime": "^0.19.9",
"composer-runtime-web": "^0.18.1",
"eslint": "latest",
"istanbul": "latest",
"jsdoc": "latest",
"mkdirp": "latest",
"mocha": "latest",
"moment": "latest",
"passport-github": "^1.1.0",
"sinon": "latest"
},
"license-check-config": {
"src": [
"**/*.js",
"!./coverage/**/*",
"!./node_modules/**/*",
"!./out/**/*",
"!./scripts/**/*"
],
"path": "header.txt",
"blocking": true,
"logInfo": false,
"logError": true
},
"dependencies": {
"angular2-google-maps": "^0.17.0",
"es6-promise": "latest",
"fabric-client": "^1.0.4",
"grpc": "1.10.1",
"opentracing": "^0.14.1",
"passport-github": "^1.1.0",
"isomorphic-fetch": "latest"
}
}
我不明白为什么它适用于我的第一个组织而不适用于我的其他组织?
编辑:
我将网络上的链代码更新到版本 0.0.2 - 现在 package.json 和网络具有相同版本的作曲家 - 0.19.9
composer network ping -c admin@block-aviation-network
The connection to the network was successfully tested: block-aviation-network
Business network version: 0.0.2
Composer runtime version: 0.19.9
participant: org.hyperledger.composer.system.NetworkAdmin#admin
identity: org.hyperledger.composer.system.Identity#818307ea1e01cc0c691d856cc747e9a721e8424b420b73c0b2e4ce1ce406fbf3
尽管第一个组织中的链代码仍然会 运行 - 所有其他组织都会遇到与上述相同的错误。
如果我继续执行创建业务网卡以在 org2 的业务网络上使用的命令,我将得到以下信息:
composer card create -n block-aviation-network -p ./connection-profiles/${CHANNEL_NAME}/connection-profile-lessor.json -u lessor -c ./credentials/${CHANNEL_NAME}/lessor/admin-pub.pem -k ./credentials/${CHANNEL_NAME}/lessor/admin-priv.pem
composer card import -f ./lessor@block-aviation-network.card
composer network ping -c lessor@block-aviation-network
Error: Error trying to ping. Error: 2 UNKNOWN: error executing chaincode: could not get ChaincodeDeploymentSpec for block-aviation-network:0.0.2: get ChaincodeDeploymentSpec for block-aviation-network/defaultchannel from LSCC error: chaincode fingerprint mismatch data mismatch Command failed
我没有在 IBM Starter Plan 中尝试过这个,但是基于 Composer Multi Org tutorial 你为每个组织安装一次网络,但是你只为每个网络启动一次网络,并且你提供来自两个组织的管理员证书组织上composer network start
命令。
所以我认为您看到的是 Org 2 的网络已经 运行,但是 Org 2 的管理员没有访问权限,因为它没有在启动命令行上指定。
您需要在网络的所有对等点上执行“composer 网络安装”。然后是一个“composer network start”命令。
如果不能升级网络 - 尝试使用“composer network upgrade”命令。应该管用。