композитор-площадка в докере не может подключиться к hlf v1

Я запускаю Hyperledger Fabric V1 в докере на MacOS. Я запускаю композитор-площадку в контейнере докера, но не могу подключить его к 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

Композитор-площадка запущена с:

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

Профиль подключения, который пытается использовать из пользовательского интерфейса композитора-игровой площадки:

{
    "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.

Я что-то пропустил?


person Stephane Mery    schedule 29.05.2017    source источник
comment
похоже, запустить композитор в докере вместе с Fabric V1 довольно сложно. Следующий сценарий и команда сделали свое дело: curl -sSL hyperledger.github.io/composer/ install-hlfv1.sh | трепать   -  person Stephane Mery    schedule 29.05.2017
comment
Это все сделает за вас. Однако я заметил ошибку в вашем профиле. вы должны указать /home/composer/.hfc-key-store в качестве хранилища ключей при использовании образа докера, поскольку хранилище ключей использует файловую систему образов докеров, а также для alpha1 это должен быть .hfc-key-store   -  person david_k    schedule 29.05.2017


Ответы (1)


Вы можете использовать универсальный установщик (который запускает HLF v1 и Playground и соединяет их вместе): curl -sSL hyperledger.github.io/composer/install-hlfv1.sh | трепать

В качестве альтернативы вы можете следовать инструкциям по установке Composer, чтобы установить HLF v1 и Playground отдельно, а затем создать профиль подключения.

person Dan Selman    schedule 30.05.2017