我正在尝试在对等端上运行链式代码,但是当我这样做时,我的对等端日志中出现以下错误:
simulateProposal()导致链码名称:“ lscc”响应状态 txid为500
使用的命令:
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和网络具有相同版本的composer-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
错误:尝试ping错误。错误:2未知:执行链码时出错:无法从LSCC获取针对块航空网络的ChaincodeDeploymentSpec:0.0.2:从LSCC获得针对块航空网络/默认通道的ChaincodeDeploymentSpec错误:链码指纹不匹配数据不匹配 命令失败
答案 0 :(得分:1)
我没有在IBM Starter Plan中尝试过此操作,但是基于Composer Multi Org tutorial,您为每个组织安装了一次网络,但是每个网络仅启动了一次网络,并且您从两个组织提供了管理证书composer network start
命令。
所以我认为您看到的是该网络已经在Org 2上运行,但是Org 2的管理员没有访问权限,因为它没有在启动命令行上指定。
答案 1 :(得分:0)
您需要在网络的所有对等节点上进行“ 计算机网络安装”。然后是一个“ 计算机网络启动”命令。
如果这不能升级网络,请尝试使用“ 计算机网络升级”命令。应该管用。