簡體   English   中英

Web3:從地址中檢索 ERC20 代幣的余額

[英]Web3: retrieving the balance of an ERC20 token from an address

ERR:返回的值無效,它是否用盡了 Gas? 如果您沒有為從中檢索數據的合約使用正確的 ABI、從不存在的塊號請求數據或查詢未完全同步的節點,您也可能會看到此錯誤。

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])

合同沒有響應 function 調用。 是阿比嗎? 有沒有辦法可以替代 abi 或改進它?

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM