У меня возникают проблемы при попытке заставить мои транзакции работать на игровой площадке Hyperledger composer.
В моем скрипте есть функция CastVote. js file и транзакция под названием CastVote в моем файле модели. Всякий раз, когда я пытаюсь отправить транзакцию, кажется, что она не может найти функцию CastVote в моем файле сценария. Я получаю следующее сообщение об ошибке:
Ниже приведен мой код:
Файл модели:
namespace org.example.tasweetx
asset Vote identified by voteID {
o String voteID
o String voterID
o String candidateID
}
participant Voter identified by voterID {
o String voterID
o String voterFirstName
o String voterLastName
o String voterEmail
o String voterEmiratesID
}
participant Candidate identified by candidateID {
o String candidateID
o String candidateFirstName
o String candidateLastName
o Integer voteCount
}
transaction CastVote {
--> Voter voter
--> Candidate candidate
}
Файл сценария:
/**
*
* @param {org.example.tasweetx.CastVote} transacation Function to handle vote casting and incrementing candidate vote count
* @transacation
*/
function CastVote(transacation) {
if(voter.voted == false) {
voter.voted == true;
IncrementVoteCount(transacation)
return getAssetRegistry('org.example.tasweetx.Candidate')
.then(function (assetRegistry){
return assetRegistry.update(voteCount);
})
} else {
throw new Error('You have already voted!');
}
}
function IncrementVoteCount(transacation) {
candidate.voteCount += 1;
return getAssetRegistry('org.example.tasweetx.Candidate')
.then(function (assetRegistry) {
return assetRegistry.update(voteCount);
})
}