【问题标题】:Web3: retrieving the balance of an ERC20 token from an addressWeb3:从地址中检索 ERC20 代币的余额
【发布时间】:2021-07-28 09:40:20
【问题描述】:

ERR:返回值无效,是否已耗尽 Gas?如果您没有为从中检索数据的合约使用正确的 ABI、从不存在的块号请求数据或查询未完全同步的节点,您也可能会看到此错误。

阿比:https://github.com/creed-victor/frontend-test/blob/main/WeenusTokenABI.json

    const tokenAddress = "0x101848D5C5bBca18E6b4431eEdF6B95E9ADF82FA";

 const web3Context = useWeb3(`wss://mainnet.infura.io/ws/v3/${infuraProjectId}`);

  const { networkId, networkName, accounts, providerName, lib  } = web3Context;

  const web3 = new Web3(`wss://mainnet.infura.io/ws/v3/${infuraProjectId}`)

  const weenusContract = new web3.eth.Contract(abi, tokenAddress);
const getTokenBalance = useCallback(async () => {
    let tokenBalance = accounts && accounts.length > 0 ? await contract.methods.balanceOf(accounts[0]).call().then(receipt=> {return receipt}) : 'unknown';
    setTokenBalance(tokenBalance);
  }, [accounts])

  useEffect(()=>{
    getTokenBalance();
  }, [accounts, getTokenBalance])

合约没有响应函数调用。是阿比吗?有没有办法可以替代 abi 或改进它?

【问题讨论】:

    标签: reactjs token web3 erc20


    【解决方案1】:

    更改const web3 = new Web3(wss://mainnet.infura.io/ws/v3/${infuraProjectId})const web3 = new Web3(window.ethereum)

    【讨论】:

      猜你喜欢
      • 2018-08-01
      • 2020-07-24
      • 1970-01-01
      • 2021-08-06
      • 2021-08-31
      • 2018-05-04
      • 2022-12-23
      • 2019-06-28
      • 2021-10-08
      相关资源
      最近更新 更多