当前位置: 首页 > news >正文

江苏丹阳建设公司网站生活家装饰公司口碑怎么样

江苏丹阳建设公司网站,生活家装饰公司口碑怎么样,沈阳网站优化公司,wordpress4.8 php7任务#xff1a; 在前端开发一个查询UI#xff0c;查询当前用户账户的ETH余额和指定ERC20合约中的余额 目标#xff1a; UI框架指定使用 MUI (https://mui.com)需要查询到当前账户的ETH余额并展示在UI界面上需要输入ERC20合约地址后#xff0c;查询到到当前账户在此ERC20…任务 在前端开发一个查询UI查询当前用户账户的ETH余额和指定ERC20合约中的余额 目标 UI框架指定使用 MUI (https://mui.com)需要查询到当前账户的ETH余额并展示在UI界面上需要输入ERC20合约地址后查询到到当前账户在此ERC20合约中的余额并展示在UI界面上 提示 需要安装 Metamask 插件链接到 Sepolia 网络ERC20 合约地址 0x7939C9b7cE8BFFc6cb791eCB129f4c385e05727a 时间要求24小时内给出相应网页可以部署到github或其他托管平台也可以通过腾讯会议运行demo代码演示 参考资料 https://web3camp.us/https://github.com/web3camp-labs 实现 首先确保安装了MUI库和Web3.js库 npm install mui/material emotion/react emotion/styled web3 你可以创建一个JavaScript文件并编写如下代码 import React, { useState } from react; import Web3 from web3; import { Container, TextField, Button, Typography } from mui/material;// 创建Web3实例连接到以太坊网络 const web3 new Web3(window.ethereum);// 定义要查询的ERC20合约地址 // const erc20ContractAddress 0x7939C9b7cE8BFFc6cb791eCB129f4c385e05727a;export default function Web3View() {const [ethBalance, setEthBalance] useState(null);const [erc20Balance, setERC20Balance] useState(null);const [erc20Address, setERC20Address] useState();// 检查是否有提供者可用if (typeof window.ethereum ! undefined) {// 使用以太坊提供者进行初始化web3.setProvider(window.ethereum);} else {console.error(无可用的以太坊提供者);}// 查询当前用户账户的ETH余额async function handleGetEthBalance() {try {// 获取当前用户的账户地址const accounts await web3.eth.requestAccounts();const account accounts[0];// 使用web3.eth.getBalance方法查询ETH余额const balanceWei await web3.eth.getBalance(account);// 将余额从Wei转换为ETH单位const balanceEth web3.utils.fromWei(balanceWei, ether);setEthBalance(balanceEth);} catch (error) {console.error(获取ETH余额失败:, error);}}// 查询指定ERC20合约中的余额async function handleGetERC20Balance() {try {// 获取当前用户的账户地址const accounts await web3.eth.requestAccounts();const account accounts[0];// 加载ERC20合约的ABI应用二进制接口const erc20ABI [// 方法1获取代币总供应量{constant: true,inputs: [],name: totalSupply,outputs: [{name: ,type: uint256,},],payable: false,stateMutability: view,type: function,},// 方法2获取指定地址的代币余额{constant: true,inputs: [{name: _owner,type: address,},],name: balanceOf,outputs: [{name: balance,type: uint256,},],payable: false,stateMutability: view,type: function,},// 方法3转账代币到指定地址{constant: false,inputs: [{name: _to,type: address,},{name: _value,type: uint256,},],name: transfer,outputs: [{name: ,type: bool,},],payable: false,stateMutability: nonpayable,type: function,},]; // ERC20合约的ABI定义// 创建ERC20合约实例const erc20Contract new web3.eth.Contract(erc20ABI, erc20Address);// 使用合约实例的balanceOf方法查询余额const balance await erc20Contract.methods.balanceOf(account).call();setERC20Balance(balance.toString());} catch (error) {console.error(获取ERC20合约余额失败:, error);}}return (Container maxWidthsmTypography varianth4 aligncenter gutterBottom查询账户余额/TypographyButton variantcontained onClick{handleGetEthBalance}查询ETH余额/Button{ethBalance (Typography variantbody1 gutterBottom当前ETH余额{ethBalance} ETH/Typography)}TextFieldlabelERC20合约地址value{erc20Address}onChange{(e) setERC20Address(e.target.value)}fullWidthmarginnormal/Button variantcontained onClick{handleGetERC20Balance}查询ERC20余额/Button{erc20Balance ! null (Typography variantbody1 gutterBottom当前ERC20余额{erc20Balance}/Typography)}/Container); } 效果图
http://www.w-s-a.com/news/419125/

相关文章:

  • 电商网站建设 教学总结蚌埠市住房建设部网站
  • 深圳罗湖企业网站发稿类别是什么
  • 做网站基本语言企业应用软件开发
  • 网站建设与运营 市场分析影视小程序搭建
  • vs 团队网站开发中铁建设门户网登录咋进不去了
  • 快速网站建设公司哪家好优秀的网站建设
  • 网站开发的自适应wordpress搜索词结果按文章标题
  • 微网站是用什么开发的wordpress中英文主题
  • 纯静态网站怎么做淄博seo开发
  • 江西新农村建设权威网站盐步网站制作
  • 网站ui设计例子怎么做打鱼网站
  • 在1688做公司网站wordpress category
  • 单页面 网站 模板网站代理公司
  • 手机网站底部电话代码网站后台点击添加图片没有反应
  • 龙岩建设局网站声明自学制作网站难不难
  • 济南网站优化小黑godaddy中文网站开发
  • 做微课常用的网站广州seo优化推广
  • 主机屋如何做网站电脑网页游戏大全
  • 工作网站建设中布线费用账务处理特色的重庆网站推广
  • dede 网站地图模板htm写作网站水平哪个最好
  • 服务器上的网站erp教学零基础入门
  • 网站建设58设计资料网站
  • 如何把动态图发网站做头像网页设计实训报告小结
  • 做简历用的网站wordpress版权说明
  • 网站关键词有哪些网站新闻前置审批
  • 怎么自己注册网站义乌做公司网站
  • 做哪种网站赚钱苏州住房城乡建设部网站
  • 镇江做网站学编程学哪一种比较好
  • 华美天一建筑公司网站赚钱做任务的网站有哪些
  • asp网站打开速度慢家乡网页设计教程