Мы можем определить многие вещи в функции "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 () выше, он работает нормально