有人设法通过Web3.js@1.0.0获得了ERC20令牌的余额吗?

时间:2019-05-10 13:08:00

标签: blockchain ethereum web3 web3js

此代码适用于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 :(得分:0)

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());
    });
  });