Как я могу использовать функцию invokeChaincode () в composer, равно ли «транзакция» в composer функции func в цепочке кода «invoke»? - PullRequest
0 голосов
/ 20 сентября 2018

Мы можем определить многие вещи в функции "invoke" в цепочечном коде. И мы также можем определить множество "транзакций" в сети композитора hyperledger. Более того, эти две концепции могут изменить оператор главной книги.

Если я могу использоватьgetNativeAPI (). invokeChaincode () для вызова «транзакции в другой сети». Например, если у меня есть транзакция:

In cto

participant ValifyParticipant identified by valifiedId {
  o String valifiedId
  o String organization
  o Double validRate
  o Double passRate
}

@returns(String)
transaction ValifyTransaction {
  o String detail
  o String valid
  --> ValifyParticipant valifyParticipant
  --> Participant Participant
}

In logic.js:

/**
 * Sample valify manual transaction fuction
 * @param {org.example.com.ValifyTransaction} vct the sample valify manual submit transaction instance.
 * @returns {String}(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string) The string.
 * @transaction
 */
async function ValifyCompoundTransaction(vct) {
  ....
}

Как мне позвонить ValifyCompoundTransaction в другую сеть с помощью функции getNativeAPI().invokeChaincode()

Я следовал инструкции:

https://hyperledger.github.io/composer/latest/tutorials/invoke-composer-network

для использования getNative (). Invokechaincode () для выполнения функции, приведенной ниже:

 const otherNetworkData = await getNativeAPI().invokeChaincode('example-test-network',['getResourceInRegistry','Participant','org.example.com.Participant','1'],'firstchannel');

Но не удалось и выясните причину ниже:

2018-09-21 02:31:00.211 UTC [committer/txvalidator] validateTx -> ERRO 03c VSCCValidateTx for transaction txId = 60730ff6a58440f3a59322ca9590d2eeff933c23b074e73611dfc4ff9b6f8322 returned error: VSCC error: endorsement policy failure, err: signature set did not satisfy policy
2018-09-21 02:31:28.273 UTC [chaincode] HandleTransaction -> ERRO 042 [e2243000] Failed to handle INVOKE_CHAINCODE. error: could not get valid transaction

Но когда я удаляю invokeChaincode () выше, он работает нормально

...