[英]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.