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

关注济南网站建设网赢天下深圳网站建设

关注济南网站建设,网赢天下深圳网站建设,广东东莞厚街买婬女,单页销售网站源码好啊#xff0c;上文web3 React Dapp书写订单 买入/取消操作 我们已经写好了 填充和取消订单 这就已经是非常大的突破了 但是 留下了一个问题 那就是 我们执行完之后 订单的数据没有直接更新 每次都需要我们手动刷新 才能看到结果 那么 今天我们就来看解决这个问题的事件订阅 …好啊上文web3 React Dapp书写订单 买入/取消操作 我们已经写好了 填充和取消订单 这就已经是非常大的突破了 但是 留下了一个问题 那就是 我们执行完之后 订单的数据没有直接更新 每次都需要我们手动刷新 才能看到结果 那么 今天我们就来看解决这个问题的事件订阅 我们下启动一下环境 ganache 环境 终端运行 ganache -d登录一下 MetaMask 运行我们的 dapp 发布一下合约 truffle migrate --reset然后 运行 转让 交易所 token与ETH的测试脚本 制造数据 truffle exec .\scripts\test.js然后 运行专门用来创建订单的脚本 truffle exec .\scripts\createOrder.js最后 我们启动前端 dapp系统 我们 全局数据初始化 是在 src下的 view 中的index 组件 那么 我们监听也就在这里去执行 毕竟他才是全局状态的一个管理入口 这里 我们看到 交易所的智能合约 我们写了三个事件 Order创建订单 Cancel取消订单 Fill填充订单 他们分别来记录我们的三种事件 那么 我们就可以在web端 监听这三个事件 这里 我们直接将 src目录下的 view 下的index.jsx 中的 useEffect 声明周期代码更改如下 useEffect(() {async function start(){const WebData await initialization()window.WebData WebData;dispatch(loadBalanceData(WebData))dispatch(loadCancelorderData(WebData))dispatch(loadAllrderData(WebData))dispatch(loadFillorderData(WebData))//监听创建订单完成WebData.Exchange.events.Order({},(error,event) {console.log(创建了订单)console.log(错误信息,error)console.log(事件参数,event)dispatch(loadBalanceData(WebData))dispatch(loadCancelorderData(WebData))dispatch(loadAllrderData(WebData))dispatch(loadFillorderData(WebData))})//监听取消订单完成WebData.Exchange.events.Cancel({},(error,event) {console.log(取消了订单)console.log(错误信息,error)console.log(事件参数,event)dispatch(loadBalanceData(WebData))dispatch(loadCancelorderData(WebData))dispatch(loadAllrderData(WebData))dispatch(loadFillorderData(WebData))})//监听填充订单完成WebData.Exchange.events.Fill({},(error,event) {console.log(填充了订单)console.log(错误信息,error)console.log(事件参数,event)dispatch(loadBalanceData(WebData))dispatch(loadCancelorderData(WebData))dispatch(loadAllrderData(WebData))dispatch(loadFillorderData(WebData))})}start(); },[dispatch])这里 我们通过全局对象 WebData 拿到我们交易所的智能合约对象 Exchange 并分别监听了 我们刚才说的三个事件 事件触发会带来两个参数 error 错误信息 event 调用事件时 传递的参数 然后 我们这里 简单输出了事件做了什么 和 调用了所有异步加载数据的函数 重新更新一下数据 然后 我们运行项目 尝试 取消一个订单 这里 我们就可以看到 我们订单 从 5条 变成了 4条 无需我们自己刷新 数据就更新了 控制台也输出了 我们的事件类型 和 信息 然后 我们尝试买入一个订单 也是一样 我们整体更新的事件触发了 页面也将相关信息输出了出来 然后 我们重写执行脚本 truffle exec .\scripts\createOrder.js你会惊奇的发现 我们dapp的监听事件触发了 就是 不一定是当前界面触发的 其他地方创建了订单 或者取消 填充订单 我们订阅了他 事件就会触发 有点实时通讯的味道了哈
http://www.yutouwan.com/news/496226/

相关文章:

  • 网站建设 不需要见面推广引流方案
  • 金属东莞网站建设技术支持一个网站需要多大的空间
  • 美食网站开发的目标南京比较有名的广告公司
  • 玩具 网站模板做网站交易平台挣钱吗
  • 网站设计开发招聘做精美ppt的网站
  • 佛山建设银行网站网站建设的目的和目标
  • 成都网站推广创新互联wordpress woo theme
  • 口腔网站设计图有哪些网站可以做任务返现
  • 免费网站如何做宣传百度软件中心下载
  • 太原市建设厅网站首页网站优化软件排行榜
  • 域名备案网站名称wordpress后台换中文
  • 网站宣传册怎么做修改wordpress数据库
  • 网站服务器端口设置在线网站建设询问报价
  • 乐平市建设局网站企业邮箱在哪查看
  • 有什么网站做的比较高大上重庆企业vi设计公司
  • 网站模板html下载wordpress 文章投票插件
  • 高端网站开发哪里好2023近期舆情热点事件
  • 北京商场关门seo入门培训课程
  • 免费下载软件的网站企业网站建设的一般要素包括
  • 导航栏网站建站公司做的网站费用计入什么科目
  • 做电商网站用什么软件开发制作空间主页网站
  • 做网站app优惠活动的友情链接交易平台源码
  • 宿州银行网站建设重庆营销型网站随做的好
  • 企业网站备案流程wordpress修改主题
  • 微网站分享功能wordpress 如何切换主题
  • 工信网站投诉系统宝安设计网站建设
  • 购物帮做特惠的网站网站能调用一些字体
  • 重庆网站推广公司泉州微信网站开发公司
  • 安康市网站开发wordpress 会员购买插件
  • 海淀区手机网站设计服务6旅游网站制作代码