在Hyperledger Fabric Composer中启动业务网络应用程序时出错-多主机对等环境

时间:2018-08-13 19:33:57

标签: hyperledger-fabric hyperledger hyperledger-composer

我正在创建一个具有5个对等方的光纤网络。

在计算机1上运行的

2个对等方,CA和订购者  机器2上有1个对等实例和长沙发实例  计算机3上有1个对等实例和长沙发实例,  机器4上有1个对等方和长沙发实例。

它们都在同一频道上。我能够将.bna安装到网络中。但是当我尝试使用composer工具启动应用程序时,请使用以下命令

“ composer网络启动-c PeerAdmin @ hlfv1 -n blockv6 -V 0.0.1 -A admin -S adminpw”

我没有收到有效的响应错误

✖启动业务网络定义。这可能需要一分钟... 错误:尝试启动业务网络时出错。错误:任何对等方均未提供有效响应。 来自尝试的对等通信的响应是错误:错误:2未知:链码错误(状态:500,消息:不是有效的认可系统链码) 来自对等通信尝试的响应是一个错误:错误:2未知:链码错误(状态:500,消息:未知chaincodeType:NODE) 来自对等通信尝试的响应是一个错误:错误:2未知:链码错误(状态:500,消息:未知chaincodeType:NODE) 命令失败

下面是我的createPeerAdmin脚本的连接配置文件

       {

            "name": "hlfv1",
            "x-type": "hlfv1",
            "x-commitTimeout": 300,
           "version": "1.0.0",
         "client": {
    "organization": "Org1",
    "connection": {
        "timeout": {
            "peer": {
                "endorser": "300",
                "eventHub": "300",
                "eventReg": "300"
            },
            "orderer": "300"
        }
    }
},
"channels": {
    "composerchannel": {
        "orderers": [
            "orderer.example.com"
        ],
        "peers": {
            "peer0.org1.example.com": {},
             "peer1.org1.example.com": {},
              "peer2.org1.example.com": {},
              "peer3.org1.example.com": {},
              "peer4.org1.example.com": {}
        }
    }
},
"organizations": {
    "Org1": {
        "mspid": "Org1MSP",
        "peers": [
            "peer0.org1.example.com",
            "peer1.org1.example.com",
            "peer2.org1.example.com",
            "peer3.org1.example.com",
            "peer4.org1.example.com"

        ],
        "certificateAuthorities": [
            "ca.org1.example.com"
        ]
    }
},
"orderers": {
    "orderer.example.com": {
        "url": "grpc://${HOST}:7050"
    }
},
"peers": {
    "peer0.org1.example.com": {
        "url": "grpc://${HOST}:7051",
        "eventUrl": "grpc://${HOST}:7053"
    },
     "peer1.org1.example.com": {
        "url": "grpc://${HOST}:8051",
        "eventUrl": "grpc://${HOST}:8053"
    },
     "peer2.org1.example.com": {
        "url": "grpc://<machineIP>:9051"
    },
     "peer3.org1.example.com": {
        "url": "grpc://<machineIP>:9051"
    },
     "peer4.org1.example.com": {
        "url": "grpc://<machineIP>:9051"
    }
},
"certificateAuthorities": {
    "ca.org1.example.com": {
        "url": "http://${HOST}:7054",
        "caName": "ca.org1.example.com"
    }
}

}

2 个答案:

答案 0 :(得分:5)

您得到的响应表明已联系了3个对等方,每个对等方都无法实例化链码。看来您使用的是作曲者0.20,所以要分解错误如下

  • 错误:2 UNKNOWN:链码错误(状态:500,消息:不是有效的背书系统链码)

如果您将Composer 0.20与Fabric 1.1对等体一起使用,则会遇到上述错误,而Composer 0.20与Fabric 1.1对等体不兼容。

  • 错误:2未知:链码错误(状态:500,消息:未知chaincodeType:NODE)

如果使用Fabric 1.0对等方,则会出现上述错误。结构1.1中引入了NODE的链码类型

因此,我不知道您如何在网络中混合使用混合结构对等体级别,但是我建议您检查正在运行的对等体的版本,并确保所有版本都为1.2计划使用作曲家0.20。如果要使用结构1.1,请确保使用作曲家0.19.x

我看到的最后一点是,您的连接配置文件中有一些$ {HOST}定义,您用<machineIP>替换了其他定义,因此我认为这些$ {HOST}条目没有被替换您发布的示例,而不是您的真实连接配置文件中的示例。

答案 1 :(得分:0)

更改composer的版本有助于解决此问题。

npm install -g composer-cli@0.19