尝试启动作曲家网络时出现对等错误

时间:2018-07-16 09:18:35

标签: hyperledger-fabric hyperledger hyperledger-composer

我正在尝试在对等端上运行链式代码,但是当我这样做时,我的对等端日志中出现以下错误:

  

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错误:链码指纹不匹配数据不匹配   命令失败

2 个答案:

答案 0 :(得分:1)

我没有在IBM Starter Plan中尝试过此操作,但是基于Composer Multi Org tutorial,您为每个组织安装了一次网络,但是每个网络仅启动了一次网络,并且您从两个组织提供了管理证书composer network start命令。

所以我认为您看到的是该网络已经在Org 2上运行,但是Org 2的管理员没有访问权限,因为它没有在启动命令行上指定。

答案 1 :(得分:0)

您需要在网络的所有对等节点上进行“ 计算机网络安装”。然后是一个“ 计算机网络启动”命令。

如果这不能升级网络,请尝试使用“ 计算机网络升级”命令。应该管用。