Así que intenté resolver esto durante algunas horas y puedo consolar. registrar el saldo, pero parece que no puedo almacenar el saldo en una var para usarlo más tarde. El objetivo es obtener el saldo de la cuenta de los usuarios (eth) y mostrarlo en la tabla. De todos modos aquí está lo que tengo.
function App(){ ///.....//// const Web3 = require("web3"); const web3 = new Web3( Web3.givenProvider || "https://ropsten.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161" ); async function checkBalance() { try { await web3.eth.getBalance(account).then(web3.utils.fromWei()); } catch (error) { console.log(error); } } ////.....//// {checkBalance} to be displayed in a table <Table variant="striped" width="100%"> <TableCaption>Token balances of {account}</TableCaption> <Thead> <Tr> <Th>Token</Th> <Th>Contract Address</Th> <Th>Balance</Th> </Tr> </Thead> <Tbody> <Tr> <Td>ETH</Td> <Td>0x0000000000000000000000000000000000000000</Td> <Td>{checkBalance}</Td> </Tr> </Tbody> <Tfoot> <Tr> <Th>Token</Th> <Th>Contract Address</Th> <Th>Balance</Th> </Tr> </Tfoot> </Table> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>El error que recibo en la consola es "Advertencia: las funciones no son válidas como un elemento secundario de React. Esto puede suceder si devuelve un Componente en lugar de renderizar. O tal vez pretendía llamar a esta función en lugar de devolverla".
La función web3.eth.getBalance(address).then() requiere que se pase una función a la cláusula then() .
En el fragmento a continuación, paso una función que acepta balanceInWei como parámetro. Solo entonces puede pasar la variable balanceInWei a la web3.utils.fromWei(balanceInWei) para que devuelva el saldo ETH de la dirección
const Web3 = require("web3"); const web3 = new Web3("https://ropsten.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161"); let address = "0x0000000000000000000000000000000000000000"; let balance; async function checkBalance() { try { web3.eth.getBalance(address).then((balanceInWei) => { balance = web3.utils.fromWei(balanceInWei); console.log("Balance in wei:", balanceInWei); console.log("Balance in ETH:", balance); }); } catch (error) { console.log(error); } } checkBalance(); Además, no debe publicar sus enlaces infura. Hizo públicas las credenciales de su proyecto infura al publicarlo aquí. La próxima vez reemplácelo con eq. https://ropsten.infura.io/v3/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX