Ошибка web3: ошибка BigNumber: «новый BigNumber () не базовый номер 16:» - PullRequest
0 голосов
/ 21 октября 2018

Я пытаюсь заставить этот простой Dapp работать, где я посылаю переменные nombre и edad в функцию setInstructor (), а затем возвращаю функцию getInstructor ().Проблема в том, что я продолжаю получать BigNumber Error: "new BigNumber() not a base 16 number:.Есть мысли?

Солидность

pragma solidity ^0.4.25;


contract Contrato {

  string fName;
  uint age;

  function setInstructor (string _fName, uint _age){
      fName = _fName;
      age = _age;

  }

  function getInstructor () public constant returns (string, uint){
      return (fName, age);
  }

}

Web3

var Contrato = web3.eth.contract(ABI);
var Contratito = Contrato.at(Address);

$("#button").click(function(){

    Contratito.setInstructor($("#nombre").val(), $("#edad").val(), function(error,result){if (!error) { console.log("bien") } else { console.error(error)}});

    Contratito.getInstructor(function(error,result){ if (!error) { $("#instructor").html(result[0] + " " + result[1])} else {console.error(error)}});

})

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

У меня тоже была эта проблема, чтобы исправить ее, мне пришлось сменить сеть, используемую моим расширением браузера MetaMask, на сеть, указанную в коде javascript.Убедитесь, что адрес контракта находится в сети, используемой расширением MetaMask.Также вам, вероятно, следует опубликовать свои вопросы, связанные с Ethereum, на сайте обмена стеками Ethereum, чтобы получить более быстрый ответ: https://ethereum.stackexchange.com

0 голосов
/ 22 октября 2018

Я бы начал с преобразования $("#edad").val() в число, а не в строку, которую скорее всего вернули.Если это не сработает, я конвертирую оба результата .val() в BigNumbers вручную с помощью new BigNumber(...).

Дайте мне знать, где это оставляет нас в комментариях, и, надеюсь, мы исправим это быстро!

...