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

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”命令。应该管用。