Кто-то сумел получить баланс токена ERC20 с помощью Web3.js@1.0.0? - PullRequest
0 голосов
/ 10 мая 2019

Этот код работал для версии 0.20.6, но для новой версии он больше не работает.Я читал документацию и тестировал примеры, но я не получил его на работу.Вот код, который работал ниже.

let contract = web3.eth.contract(ABI).at(tokenAddress);
  contract.balanceOf(walletAddress, (error, balance) => {
    contract.decimals((error, decimals) => {
      balance = balance.div(10 ** decimals);
      console.log(balance.toString());
    });
  });

Пожалуйста, дайте мне знать, как с этим справиться.Спасибо!

1 Ответ

0 голосов
/ 14 мая 2019

В web3@1.0 вы должны использовать myContract.methods.myMethod() и можете использовать .then для ответа.Также можно использовать обратный вызов.

И для экземпляра контракта new web3.eth.Contract(jsonInterface, address, options)

или позже добавить адрес к экземпляру myContract.address = '0x1234FFDD...';

let contract = web3.eth.contract(ABI, tokenAddress);
  contract.methods.balanceOf(walletAddress).call((error, balance) => {
    contract.methods.decimals().call((error, decimals) => {
      balance = balance.div(10 ** decimals);
      console.log(balance.toString());
    });
  });
...