web3.js--getBalance到web3.utils.fromWei,将值存储在一个变量中,用于表中
Posted
技术标签:
【中文标题】web3.js--getBalance到web3.utils.fromWei,将值存储在一个变量中,用于表中【英文标题】:Web3.js-- getBalance to web3.utils.fromWei, store the value in a variable to be used in a table 【发布时间】:2021-12-13 05:13:35 【问题描述】:所以我尝试了几个小时来解决这个问题,我可以控制台记录余额,但我似乎无法将余额存储在 var 中以供以后使用。目标是获取用户帐户余额 (eth) 并将其显示在表格中。无论如何,这就是我得到的。
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" >
<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>
我在控制台中收到的错误是“警告:函数作为 React 子项无效。如果您返回组件而不是从渲染中返回,则可能会发生这种情况。或者您可能打算调用此函数而不是返回它。”
【问题讨论】:
您觉得我的回答有帮助吗? 【参考方案1】:函数web3.eth.getBalance(address).then()
需要将函数传递到then()
子句中。
在下面的 sn-p 中,我传递了一个接受 balanceInWei
作为参数的函数。只有这样你才能将balanceInWei
变量传递给web3.utils.fromWei(balanceInWei)
函数,让它返回地址的ETH
余额
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();
此外,您不应发布您的 infura 链接。您通过在此处发布您的 infura 项目的凭据将其公开。下次用eq替换它。 https://ropsten.infura.io/v3/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
【讨论】:
以上是关于web3.js--getBalance到web3.utils.fromWei,将值存储在一个变量中,用于表中的主要内容,如果未能解决你的问题,请参考以下文章
探索Web3基础设施:从计算索引到存储,Web3网络收入的黎明已至