Как подключить Node.js в контейнере Docker к Hyperledger Fabric? - PullRequest
0 голосов
/ 25 мая 2018

Dockerfile

FROM node:carbon
WORKDIR /usr/src/app
COPY package*.json ./
COPY *.card ./
RUN npm install
RUN ./node_modules/.bin/composer card import --file admin@biznetwork.card --card admin@biznetwork
COPY . .
EXPOSE 8080
CMD [ "npm", "start" ]

connection.js, использованный для создания admin@biznetwork.card (я заменил ": // localhost: port" на имена работающих контейнеров) enter image description here

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

             }
          }
       }
    },
    "organizations":{  
       "Org1":{  
          "mspid":"Org1MSP",
          "peers":[  
             "peer0.org1.example.com"
          ],
          "certificateAuthorities":[  
             "ca.org1.example.com"
          ]
       }
    },
    "orderers":{  
       "orderer.example.com":{  
          "url":"grpc://orderer.example.com:7050"
       }
    },
    "peers":{  
       "peer0.org1.example.com":{  
          "url":"grpc://peer0.org1.example.com:7051",
          "eventUrl":"grpc://peer0.org1.example.com:7053"
       }
    },
    "certificateAuthorities":{  
       "ca.org1.example.com":{  
          "url":"http://ca.org1.example.com:7054",
          "caName":"ca.org1.example.com"
       }
    }
 }

Приложение Node.js не может подключиться и получает ошибку:

(node:17) UnhandledPromiseRejectionWarning: Error: Error trying to ping. Error: 2 UNKNOWN: error executing chaincode: transaction returned with failure: Error: The current identity, with the name 'admin' and the identifier 'fcb2071b5df74a16b4b93b14bff69af15c1104df6465a23ae4ec3473cc663d71', has not been registered

Возможно, что-то не так с картой, потому что

RUN ./node_modules/.bin/composer card import --file admin@biznetwork.card --card admin@biznetwork
RUN ./node_modules/.bin/composer network ping --card admin@biznetwork

не работаетне подключаться.

1 Ответ

0 голосов
/ 25 мая 2018

Я думаю, вам нужно сопоставить ~/.composer/cards вашего хоста Docker с ~/.composer/cards вашего контейнера.

...