ELIFECYCLE из ткани hyperledger

#node.js #npm #hyperledger-fabric

Вопрос:

Доброе утро всем, у меня была эта ошибка в течение 3 месяцев, и я не мог ее решить, если у вас есть какая-либо информация об этом, пожалуйста, помогите.

Я запускаю два цепных кода и 7 одноранговых узлов ( CA,MSP,контейнер цепного кода на одноранговый узел) в общей сложности для 42 контейнеров docker. Все работает гладко, пока не придет время выполнять транзакции, все одноранговые узлы docker, содержащие цепной код, выходят с этой ошибкой, кроме первого запущенного

Я не знаю, является ли это ошибкой, связанной с hlf, или ошибкой, связанной с npm, и я проверял везде, этот тип ошибки иногда является hlf, а иногда npm, и в любом случае нет четкого решения для ее решения! Я сдался и сейчас прошу о помощи, что очень ценится, так как это мой выпускной проект

Я использую hyperledger fabric v 2 и использую npm,узел,java-скрипт вот содержимое моего файла package.json

 {
    "name": "student-smart-contract",
    "version": "1.0.0",
    "description": "smart contract for courses",
    "main": "index.js",
    "engines": {
        "node": ">=12",
        "npm": ">=5"
    },
    "scripts": {
        "init-lint": "eslint --init",
        "lint": "eslint .",
        "pretest": "npm run lint",
        "test": "nyc mocha --recursive",
        "start": "fabric-chaincode-node start"
    },
    "engineStrict": true,
    "author": "Hyperledger",
    "license": "Apache-2.0",
    "dependencies": {
        "ajv": "^5.5.2",
        "fabric-contract-api": "^2.2.1",
        "fabric-shim": "^2.2.1",
        "grpc": "^1.24.5"
    },
    "devDependencies": {
        "chai": "^4.1.2",
        "eslint": "^7.32.0",
        "eslint-config-standard": "^16.0.3",
        "eslint-plugin-import": "^2.24.2",
        "eslint-plugin-node": "^11.1.0",
        "eslint-plugin-promise": "^5.1.0",
        "mocha": "^8.0.1",
        "nyc": "^14.1.1",
        "sinon": "^6.0.0",
        "sinon-chai": "^3.2.0"
    },
    "nyc": {
        "exclude": [
            "coverage/**",
            "test/**",
            "index.js",
            ".eslintrc.js"
        ],
        "reporter": [
            "text-summary",
            "html"
        ],
        "all": true,
        "check-coverage": true,
        "statements": 100,
        "branches": 100,
        "functions": 100,
        "lines": 100
    }
}
 

и ниже приведена ошибка, заранее спасибо

 > Executing task: docker logs --tail 1000 -f 0f3588111617d412d11768c32df6f9f724da08c46217257953a32c90e6288d98 <

  CHAINCODE_DIR=/usr/local/src
  cd /usr/local/src
  npm start -- --peer.address peer0.Aswan.com:8052

> student-smart-contract@1.0.0 start /usr/local/src
> fabric-chaincode-node start "--peer.address" "peer0.Aswan.com:8052"

2021-10-27T12:33:11.636Z info [c-api:contracts-spi/bootstrap.js]                  No metadata file supplied in contract, introspection will generate all the data  
2021-10-27T12:33:11.643Z info [c-api:./lib/contract.js]                           Creating new Contract  
2021-10-27T12:33:11.644Z info [c-api:./lib/contract.js]                           Creating new Contract  
2021-10-27T12:33:11.644Z info [c-api:./lib/contract.js]                           Creating new Contract  
2021-10-27T12:33:11.645Z info [c-api:./lib/contract.js]                           Creating new Contract  
2021-10-27T12:33:11.645Z info [c-api:./lib/contract.js]                           Creating new Contract "org.hyperledger.fabric" 
2021-10-27T12:33:11.712Z info [c-api:lib/chaincode.js]                            Registering with peer peer0.Aswan.com:8052 as chaincode "CoursesSmartContract:e2401ca75fc0abab992210baee01c0d10f4d5cbb48e701d5818772f8fda3a82a"  
2021-10-27T12:33:11.727Z info [c-api:fabric-shim/cli]                             
Command succeeded
  
2021-10-27T12:33:11.774Z info [c-api:lib/handler.js]                              Successfully registered with peer node. State transferred to "established"  
2021-10-27T12:33:11.775Z info [c-api:lib/handler.js]                              Successfully established communication with peer node. State transferred to "ready"  
2021-10-27T12:33:41.770Z error [c-api:lib/handler.js]                             Received unknown message from the peer. Exiting.  
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! student-smart-contract@1.0.0 start: `fabric-chaincode-node start "--peer.address" "peer0.Aswan.com:8052"`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the student-smart-contract@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-10-27T12_33_41_777Z-debug.log
 

и когда я следовал /root/.npm/
У меня есть это

 0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   '/usr/local/bin/node',
1 verbose cli   '/usr/local/bin/npm',
1 verbose cli   'start',
1 verbose cli   '--',
1 verbose cli   '--peer.address',
1 verbose cli   'peer0.Aswan.com:8052'
1 verbose cli ]
2 info using npm@6.13.4
3 info using node@v12.16.1
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle student-smart-contract@1.0.0~prestart: student-smart-contract@1.0.0
6 info lifecycle student-smart-contract@1.0.0~start: student-smart-contract@1.0.0
7 verbose lifecycle student-smart-contract@1.0.0~start: unsafe-perm in lifecycle true
8 verbose lifecycle student-smart-contract@1.0.0~start: PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/usr/local/src/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
9 verbose lifecycle student-smart-contract@1.0.0~start: CWD: /usr/local/src
10 silly lifecycle student-smart-contract@1.0.0~start: Args: [
10 silly lifecycle   '-c',
10 silly lifecycle   'fabric-chaincode-node start "--peer.address" "peer0.Aswan.com:8052"'
10 silly lifecycle ]
11 silly lifecycle student-smart-contract@1.0.0~start: Returned: code: 1  signal: null
12 info lifecycle student-smart-contract@1.0.0~start: Failed to exec start script
13 verbose stack Error: student-smart-contract@1.0.0 start: `fabric-chaincode-node start "--peer.address" "peer0.Aswan.com:8052"`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:311:20)
13 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:311:20)
13 verbose stack     at maybeClose (internal/child_process.js:1021:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
14 verbose pkgid student-smart-contract@1.0.0
15 verbose cwd /usr/local/src
16 verbose Linux 5.11.0-25-generic
17 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "start" "--" "--peer.address" "peer0.Aswan.com:8052"
18 verbose node v12.16.1
19 verbose npm  v6.13.4
20 error code ELIFECYCLE
21 error errno 1
22 error student-smart-contract@1.0.0 start: `fabric-chaincode-node start "--peer.address" "peer0.Aswan.com:8052"`
22 error Exit status 1
23 error Failed at the student-smart-contract@1.0.0 start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
 

Комментарии:

1. Я вижу, что вы используете много контейнеров docker и много одноранговых узлов. Вы сказали, что у вас есть два цепных кода и 7 одноранговых узлов. Сколько у вас организаций? И сколько сверстников у каждого из них? Кроме того, где установлен каждый цепной код? Какой тип транзакции вы пытаетесь выполнить, и вы получаете ошибку?

2. также 7 организаций по одному одноранговому узлу на организацию, мои транзакции-это транзакции моего смарт-контракта, вы хотите, чтобы я показал вам код?

3. Итак, вы вызываете цепной код с помощью node sdk? Или что именно вы используете? К какому одноранговому узлу вы обращаетесь? происходит ли это со всеми сверстниками? Я имею в виду, пробовали ли вы ту же структуру в другой сети, в которой есть только одна организация и один одноранговый узел, например, чтобы узнать, связано ли это с определенным одноранговым узлом?

4. это происходит еще до того, как я что-либо вызову, но да, я вызываю его с помощью node sdk, я не пробовал эту структуру с другой сетью, потому что в этой сети с этой структурой был весь смысл, и необходимость тестировать ее таким образом будет означать, что мне придется заново создавать все с нуля, но только для одного узла, что противоречит цели 🙁 ошибка происходит с 6 организациями, если они просто выходят из контейнеров ( я проверяю их из расширения docker в vs code..)

5. «Получено неизвестное сообщение от однорангового узла» (которое исходит от github.com/hyperledger/fabric-chaincode-node/blob/… ) Такое нечасто увидишь. Обычно существует определенный набор состояний, через которые код одноранговой цепочки проходит перед транзакцией. Было бы также полезно проверить журналы одноранговых узлов. Вы сказали, что это единая организация с 7 коллегами… но вы также упоминаете 6 организаций?