Ошибка вызова пользовательского chaincode Hyperledger Fabric

Я пытаюсь запустить пользовательский chaincode. Мне удалось успешно развернуть его, но при выполнении команды invoke с помощью:

peer chaincode invoke -n mycc -c '{"Args":["write","hello_world", "200"]}'

Перед этим сообщением об ошибке:

Ошибка: ошибка подтверждения chaincode: RPC error: code = 2 desc = Error
развертывание chaincode: не удалось запустить спецификацию chaincode(не удалось
получить транзакцию развертывания от LCC для развертывания mycc-Error
chaincode: Transaction or query returned with failure: transaction not
найдено по умолчанию/mycc)

Журналы после успешного развертывания chaincode на peer (запуск peer в режиме DEV):

13:48:06.320 [shim] INFO : Chaincode log level not provided; defaulting to: DEBUG
13:48:06.320 [shim] DEBU : Peer address: 0.0.0.0:7051
13:48:06.321 [shim] DEBU : os.Args returns: [./chaincode_start]
13:48:06.323 [shim] DEBU : Registering.. sending REGISTER
13:48:06.324 [shim] DEBU : []Received message REGISTERED from shim
13:48:06.325 [shim] DEBU : []Handling ChaincodeMessage of type: REGISTERED(state:created)
13:48:06.325 [shim] DEBU : Received REGISTERED, ready for invocations
13:54:16.458 [shim] DEBU : [lccc]Received message INIT from shim
13:54:16.458 [shim] DEBU : [lccc]Handling ChaincodeMessage of type: INIT(state:established)
13:54:16.458 [shim] DEBU : Entered state init
13:54:16.458 [shim] DEBU : [lccc]Received INIT, initializing chaincode
13:54:16.461 [shim] DEBU : [lccc]Inside putstate
13:54:16.461 [shim] DEBU : [lccc]Sending PUT_STATE
13:54:16.462 [shim] DEBU : [lccc]Received message RESPONSE from shim
13:54:16.462 [shim] DEBU : [lccc]Handling ChaincodeMessage of type: RESPONSE(state:init)
13:54:16.462 [shim] DEBU : [lccc]before send
13:54:16.462 [shim] DEBU : [lccc]after send
13:54:16.464 [shim] DEBU : [lccc]Received RESPONSE, communicated (state:init)
13:54:16.464 [shim] DEBU : [lccc]Received RESPONSE. Successfully updated state
13:54:16.464 [shim] DEBU : [lccc]Init succeeded. Sending COMPLETED
13:54:16.464 [shim] DEBU : [lccc]Move state message COMPLETED
13:54:16.464 [shim] DEBU : [lccc]Handling ChaincodeMessage of type: COMPLETED(state:init)
13:54:16.465 [shim] DEBU : [lccc]send state message COMPLETED

Любой указатель на то, где я иду неправильно было бы здорово. Спасибо заранее.

2 ответа

  1. Может помочь несколько модификаций синтаксиса invoke.

    • Если безопасность включена, то параметр a-u должен использоваться для указания пользователя, который уже зарегистрирован.
    • Для параметра-n можно использовать идентификатор chaincode, а не имя chaincode.

    Пример синтаксиса для вызова включен в раздел » тестирование и проверка локальной сети” на https://hub.docker.com/r/ibmblockchain/fabric-peer/ .

  2. Убедитесь, что вы установили переменные среды перед запуском этой команды, как только вы ввели одноранговый контейнер заново, вам нужно это сделать. Кроме того, при вызове chaincode, вам нужно передать несколько флагов, и его параметры соответственно.

    Попробуйте команду, как это:

    ***peer chaincode invoke -o <orderer-string>:<port> --tls --cafile <permissions-path-which-is-.pem-file> -C $CHANNEL_NAME -n mycc -c '{"Args":["write","hello_world", "200"]}'***