代码之家  ›  专栏  ›  技术社区  ›  Simon Mullaney

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

  •  0
  • Simon Mullaney  · 技术社区  · 6 年前

    我正试图开始在对等机上运行链码,但当我运行链码时,对等机日志中出现以下错误:

    simulateProposal()导致链码名称:“lscc”响应状态 500用于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和网络上的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未知:执行链码时出错:无法获取块航空网络的链码部署规范:0.0.2:从LSCC获取块航空网络的链码部署规范/DefaultChannel错误:链码指纹不匹配数据不匹配 命令失败

    2 回复  |  直到 6 年前
        1
  •  1
  •   R Thatcher    6 年前

    我没有在ibm starter计划中尝试过,但是基于composer Multi Org tutorial 每个组织安装一次网络,但每个网络只启动一次网络,并且在 composer network start 命令。

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

        2
  •  0
  •   Skadoosh    6 年前

    你必须这么做” 作曲家网络安装 “在网络的所有对等方。然后是一个 作曲家网络启动 “命令。

    如果无法升级网络,请尝试使用“ 作曲家网络升级 “命令。应该有用。