1

我在 MacOS 上的 docker 中运行 hyperledger fabric V1。我在 docker 容器中启动 composer-playground,但无法将其连接到 Fabric。产生的错误如下:

0|composer | PlaygroundAPI            :createServer()            > 8080
0|composer | ConnectionProfileManager :constructor()             Created a new ConnectionProfileManager {"fs":{"constants":{"O_RDONLY":0,"O_WRONLY":1,"O_RDWR":2,"S_IFMT":61440,"S_IFREG":32768,"S_IFDIR":16384,"S_IFCHR":8192,"S_IFBLK":24576,"S_IFIFO":4096,"S_IFLNK":40960,"S_IFSOCK":49152,"O_CREAT":64,"O_EXCL":128,"O_NOCTTY":256,"O_TRUNC":512,"O_APPEND":1024,"O_DIRECTORY":65536,"O_NOATIME":262144,"O_NOFOLLOW":131072,"O_SYNC":1052672,"O_DIRECT":16384,"O_NONBLOCK":2048,"S_IRWXU":448,"S_IRUSR":256,"S_IWUSR":128,"S_IXUSR":64,"S_IRWXG":56,"S_IRGRP":32,"S_IWGRP":16,"S_IXGRP":8,"S_IRWXO":7,"S_IROTH":4,"S_IWOTH":2,"S_IXOTH":1,"F_OK":0,"R_OK":4,"W_OK":2,"X_OK":1},"F_OK":0,"R_OK":4,"W_OK":2,"X_OK":1}}
0|composer | PlaygroundAPI            :createServer()            Playground API started on port 8080 
0|composer | PlaygroundAPI            :createServer()            < 
0|composer | Composer                 :main()                    > 
0|composer | PlaygroundAPI            :createServer()            Client with ID 'xu14_MFwFdP2dVzEAAAA' on host '::ffff:172.18.0.1' connected 
0|composer | ConnectorServer          :constructor()             > {"fs":{"constants":{"O_RDONLY":0,"O_WRONLY":1,"O_RDWR":2,"S_IFMT":61440,"S_IFREG":32768,"S_IFDIR":16384,"S_IFCHR":8192,"S_IFBLK":24576,"S_IFIFO":4096,"S_IFLNK":40960,"S_IFSOCK":49152,"O_CREAT":64,"O_EXCL":128,"O_NOCTTY":256,"O_TRUNC":512,"O_APPEND":1024,"O_DIRECTORY":65536,"O_NOATIME":262144,"O_NOFOLLOW":131072,"O_SYNC":1052672,"O_DIRECT":16384,"O_NONBLOCK":2048,"S_IRWXU":448,"S_IRUSR":256,"S_IWUSR":128,"S_IXUSR":64,"S_IRWXG":56,"S_IRGRP":32,"S_IWGRP":16,"S_IXGRP":8,"S_IRWXO":7,"S_IROTH":4,"S_IWOTH":2,"S_IXOTH":1,"F_OK":0,"R_OK":4,"W_OK":2,"X_OK":1},"F_OK":0,"R_OK":4,"W_OK":2,"X_OK":1}}, {}, [object Object]
0|composer | ConnectorServer          :constructor()             < 
0|composer | PlaygroundAPI            :createServer()            Client with ID 'Lg2HwkkQdPng9PlXAAAB' on host '::ffff:172.18.0.1' connected 
0|composer | ConnectorServer          :constructor()             > {"fs":{"constants":{"O_RDONLY":0,"O_WRONLY":1,"O_RDWR":2,"S_IFMT":61440,"S_IFREG":32768,"S_IFDIR":16384,"S_IFCHR":8192,"S_IFBLK":24576,"S_IFIFO":4096,"S_IFLNK":40960,"S_IFSOCK":49152,"O_CREAT":64,"O_EXCL":128,"O_NOCTTY":256,"O_TRUNC":512,"O_APPEND":1024,"O_DIRECTORY":65536,"O_NOATIME":262144,"O_NOFOLLOW":131072,"O_SYNC":1052672,"O_DIRECT":16384,"O_NONBLOCK":2048,"S_IRWXU":448,"S_IRUSR":256,"S_IWUSR":128,"S_IXUSR":64,"S_IRWXG":56,"S_IRGRP":32,"S_IWGRP":16,"S_IXGRP":8,"S_IRWXO":7,"S_IROTH":4,"S_IWOTH":2,"S_IXOTH":1,"F_OK":0,"R_OK":4,"W_OK":2,"X_OK":1},"F_OK":0,"R_OK":4,"W_OK":2,"X_OK":1}}, {}, [object Object]
0|composer | ConnectorServer          :constructor()             < 
0|composer | ConnectorServer          :connectionManagerConnect() > hlfv1, org.acme.biznet, {"name":"hlfv1","description":"A description for a V1 Profile","type":"hlfv1","orderers":[{"url":"grpc://orderer0:7050","cert":"","hostnameOverride":""}],"channel":"mychannel","mspID":"Org1MSP","ca":"http://ca_peerOrg1:7054","peers":[{"requestURL":"grpc://peer0:7051","eventURL":"grpc://peer0:7053","cert":"","hostnameOverride":""},{"requestURL":"grpc://peer1:7056","eventURL":"grpc://peer1:7058","cert":"","hostnameOverride":""}],"keyValStore":"/home/ubuntu/.hfc-key-store","deployWaitTime":300,"invokeWaitTime":30}
0|composer | FSConnectionProfileStore :load()                    Failed to loaded connection profile hlfv1 {"stack":["{Error}ENOENT: no such file or directory, open '/home/composer/.composer-connection-profiles/hlfv1/connection.json' Error: ENOENT: no such file or directory, open '/home/composer/.composer-connection-profiles/hlfv1/connection.json'","    at Error (native)"]}
0|composer | FSConnectionProfileStore :save()                    Saved connection profile hlfv1 
0|composer | ConnectionProfileManager :connect()                 Connecting using hlfv1 org.acme.biznet
0|composer | FSConnectionProfileStore :load()                    Loaded connection profile hlfv1 {
0|composer |     "name": "hlfv1",
0|composer |     "description": "A description for a V1 Profile",
0|composer |     "type": "hlfv1",
0|composer |     "orderers": [
0|composer |         {
0|composer |             "url": "grpc://orderer0:7050",
0|composer |             "cert": "",
0|composer |             "hostnameOverride": ""
0|composer |         }
0|composer |     ],
0|composer |     "channel": "mychannel",
0|composer |     "mspID": "Org1MSP",
0|composer |     "ca": "http://ca_peerOrg1:7054",
0|composer |     "peers": [
0|composer |         {
0|composer |             "requestURL": "grpc://peer0:7051",
0|composer |             "eventURL": "grpc://peer0:7053",
0|composer |             "cert": "",
0|composer |             "hostnameOverride": ""
0|composer |         },
0|composer |         {
0|composer |             "requestURL": "grpc://peer1:7056",
0|composer |             "eventURL": "grpc://peer1:7058",
0|composer |             "cert": "",
0|composer |             "hostnameOverride": ""
0|composer |         }
0|composer |     ],
0|composer |     "keyValStore": "/home/ubuntu/.hfc-key-store",
0|composer |     "deployWaitTime": 300,
0|composer |     "invokeWaitTime": 30
0|composer | }
.....
0|composer | Error: Connect Failed
0|composer |     at ClientDuplexStream._emitStatusIfDone (/usr/local/lib/node_modules/composer-playground/node_modules/fabric-client/node_modules/grpc/src/node/src/client.js:201:19)
0|composer |     at ClientDuplexStream._readsDone (/usr/local/lib/node_modules/composer-playground/node_modules/fabric-client/node_modules/grpc/src/node/src/client.js:169:8)
0|composer |     at readCallback (/usr/local/lib/node_modules/composer-playground/node_modules/fabric-client/node_modules/grpc/src/node/src/client.js:229:12)
PM2        | App [composer-playground] with id [0] and pid [22], exited with code [1] via signal [SIGINT]

HLFV1 已使用 composer-sample-applications-hlfv1/packages/getting-started/scripts 中的脚本启动

Composer-playground 已推出:

docker run --network hlfv1_default --name composer-playground --publish 8080:8080 --detach hyperledger/composer-playground:latest

尝试从 composer-playground UI 使用的连接配置文件是:

{
    "name": "hlfv1",
    "description": "A description for a V1 Profile",
    "type": "hlfv1",
    "orderers": [
        {
            "url": "grpc://orderer0:7050",
            "cert": "",
            "hostnameOverride": ""
        }
    ],
    "channel": "mychannel",
    "mspID": "Org1MSP",
    "ca": <removed because of stackoverflow, see in the error trace>,
    "peers": [
        {
            "requestURL": "grpc://peer0:7051",
            "eventURL": "grpc://peer0:7053",
            "cert": "",
            "hostnameOverride": ""
        },
        {
            "requestURL": "grpc://peer1:7056",
            "eventURL": "grpc://peer1:7058",
            "cert": "",
            "hostnameOverride": ""
        }
    ],
    "keyValStore": "/home/ubuntu/.hfc-key-store",
    "deployWaitTime": 300,
    "invokeWaitTime": 30
}

用于连接的身份是 admin 及其关联的密码。

'docker ps' 给出:

CONTAINER ID        IMAGE                                           COMMAND                  CREATED             STATUS              PORTS                                            NAMES
bbdae13a9be5        hyperledger/composer-playground:latest          "pm2-docker compos..."   29 hours ago        Up 31 minutes       0.0.0.0:8080->8080/tcp                           composer-playground
19ae93e5746c        hyperledger/fabric-peer:x86_64-1.0.0-alpha      "peer node start -..."   30 hours ago        Up About an hour    0.0.0.0:7056->7051/tcp, 0.0.0.0:7058->7053/tcp   peer1
50afdba6d769        hyperledger/fabric-peer:x86_64-1.0.0-alpha      "peer node start -..."   30 hours ago        Up About an hour    0.0.0.0:7051->7051/tcp, 0.0.0.0:7053->7053/tcp   peer0
bb7ece8cab53        hyperledger/fabric-orderer:x86_64-1.0.0-alpha   "orderer"                30 hours ago        Up About an hour    0.0.0.0:7050->7050/tcp                           orderer0
c409909e93cc        hyperledger/fabric-ca:x86_64-1.0.0-alpha        "sh -c 'fabric-ca-..."   30 hours ago        Up About an hour    0.0.0.0:7054->7054/tcp                           ca_peerOrg1
S

我认为 ENOENT 是正常的,但我不明白为什么 composer-playground 实例无法连接到 Fabric。

我错过了什么?

4

1 回答 1

0

您可以使用一体化安装程序(启动 HLF v1 和 Playground 并将它们连接在一起): curl -sSL hyperledger.github.io/composer/install-hlfv1.sh | 重击

或者,您可以按照 Composer 的安装说明分别安装 HLF v1 和 Playground,然后创建连接配置文件。

于 2017-05-30T13:18:45.347 回答