Вызов постоянной функции без аргументов с использованием async

Есть ли способ вызвать контракт без аргументов с использованием async? Код контракта:

contract A {
     function test() constant returns(string s, address addr) {
        s = "Success!";
        addr = msg.sender;
    }
}

Вот код js:

async.waterfall([
        function getResult(cb) {
      contractObject = web3.eth.contract(abi);
            contractInstance = contractObject.at(address);

      contractInstance.test.call(
  function(err,getOutput) {
       if(err) {console.log(err);}
       var gotOutput = getOutput;
       console.log('Test result received: ' + getOutput);
    return cb(null,gotOutput);
     });
        }
    ], function asyncComplete(err, getResult) {
        if (err) {console.log(err);}
        var result = [];
        result.push({ result: getResult[0], address: getResult[1]});
        console.log(result);
    })

Ошибка, которую я просматриваю при выполнении вышеуказанного кода с testrpc,

  

BigNumber Ошибка: новый BigNumber () не базовый номер 16:

Любые предложения о том, как обойти эту ошибку?

5 голосов | спросил skarred14 5 MonEurope/Moscow2016-12-05T00:29:32+03:00Europe/Moscow12bEurope/MoscowMon, 05 Dec 2016 00:29:32 +0300 2016, 00:29:32

1 ответ


4

Это ошибка декодирования в web3.js. Я предполагаю, что это связано с декодированием строки.

Пожалуйста, отправьте вопрос в репозиторий web3. Я посмотрю на это в ветке 1.0

ответил Fabian Vogelsteller 27 TueEurope/Moscow2016-12-27T13:28:12+03:00Europe/Moscow12bEurope/MoscowTue, 27 Dec 2016 13:28:12 +0300 2016, 13:28:12

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132