Создание / создание события в смарт-контракте и прослушивание события в js - PullRequest
0 голосов
/ 30 марта 2019

Итак, я делаю умный контракт в Суперблоках, в моем умном договоре есть функция, которая получает значение, добавляет 1 к этому значению и возвращает результат, который отображается на веб-странице. Поскольку sendTransaction не возвращает результат, я решил создать событие (результат добавления одного) в моем смарт-контракте и прослушать это событие в моем js. файл. После возврата txHash из смарт-контракта, который я называю прослушиванием события, у меня нет ошибок, все компилируется нормально, но ничего не происходит, когда событие прослушивается. Код : // мой умный код контракта

contract calculate {
uint testNum ; 

function calculate()  public  {

 // owner = msg.sender ;


}
event emitNum (
  uint eventNum  
);

function multiply (uint num)  public   {
  testNum = num ;
  emit emitNum (testNum);

}

// мой JS. код файла

 function multiply (){
    let val = parseInt($("#cal").val());
    instance.multiply.sendTransaction(val,{ from: accounts[0], gas : 300000, value: null}, function(error, result){
        if (error){

            alert(error);
        }
        else {
            alert("the txHash came back and listening for an event")

           var event = instance.multiply.emitNum(function(error, result) {
                if (!error)
                     $("#message").html(result);
                      alert("event watch")

            });

        }



    });



};


$(document).ready(function () {
    init(function () {

    });
    $("#submit").click(function (){

        multiply();

    })
});
})(Contracts['calculate']);

Теперь, может быть, я вызываю instance.multiply.emitNum (функция (ошибка, результат), неправильный путь, но ошибки не отображаются, все компилируется нормально, просто ничего не происходит? Есть идеи? Или я собираюсь сделать это в действительно неверный путь? Я новичок в умном программировании контрактов так: / ... THX

...