Web3 整理React项目 导入Web3 并获取区块链信息

这篇具有很好参考价值的文章主要介绍了Web3 整理React项目 导入Web3 并获取区块链信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

上文 WEB3 创建React前端Dapp环境并整合solidity项目,融合项目结构便捷前端拿取合约 Abi 我们用react 创建了一个 dapp 项目 并将前后端代码做了个整合

那么 我们就来好好整理一下 我们的前端react的项目结构
我们在 src 目录下创建一个 components
用来存放我们的 大规模组件

然后 在src下创建一个文件夹目录 叫 view 用来放我们的页面组件 也很多人喜欢把这个目录名字 命名为 pages 这都是看个人喜好 没强制要求叫什么 只是一个 大家都认可的规范 方便别人查看和二开你的项目 能够看得懂你的结构

然后 我们做个react路由

先终端输入

npm install react-router-dom --save

引入一下依赖
react web3源码,web3,react.js,区块链
然后 我们在src目录下创建目录 router
专门用来管理路由的文件夹
然后 在router 下创建文件 index.jsx 这就是我们路由的配置文件

然后 我们在 view 中创建一个 index.jsx 作为我们的首页
然后 我们编写view 下的 index.jsx 代码如下

import React from 'react';

export default function PageIndex() {
  return (
    <div>
      欢迎来到 Web3 练习的世界
    </div>
  );
}

就用他来做首页

然后 我们编写 router下的index.jsx 代码如下

import { BrowserRouter as Router,Routes,Route } from "react-router-dom";
import React from 'react';

import PageIndex from '../view/index';

export default function router() {
    const IndexRmin = ()=><div><PageIndex/></div>
    return (
        <div className="App">
            <Router>
                <Routes><Route path='/' element = { IndexRmin() }></Route></Routes>
            </Router>
        </div>
    )
}

这里 我们引入整体路由配置 然后 引入 view 下的 index 组件 设置了 / 对应该组件路由 设置了我们的首页

然后 回到src下 将 App.css干掉
这个组件我们不需要了
react web3源码,web3,react.js,区块链
然后 我们找到 src下的 index.js 或者 index.jsx 改写代码如下

import React from 'react';
import Router from "./router/index";

export default function App() {
  return (
    <div className="App">
      <Router />
    </div>
  );
}

就是引入了我们的路由组件 然后我们启动项目
react web3源码,web3,react.js,区块链
然后 我们可以看到 项目就起来了 整个项目结构也就搭好了

好 那么接下来 那么 走进首页 我们一定要去对合约进行一个连接
那么 这就需要 获取账号 初始化 等等 那么 就一定要安装 web3 这个模块

其实再简单不过 退出项目运行 终端执行

npm install web3@1.8.0 --save

注意 这里我们要 1.8.0 版本高了 有时反而有问题

然后 我们还是先把 ganache 的一个虚拟环境起来
终端执行

ganache -d

react web3源码,web3,react.js,区块链
然后 我们在 view 下的index.jsx文件中 编写代码如下

import { useEffect } from 'react';
import Web3 from "web3";

export default function PageIndex() {
  useEffect(() =>{
      async function start(){
          const WebData = await initialization()
          console.log(WebData)
      }
      start();
  },[])

  // 获取web 信息
  async function initialization() {
      var web3 = new Web3(Web3.givenProvider || "http://localhost:8545");
      let account = await web3.eth.requestAccounts();
      return account
  }
  return (
    <div>
      欢迎来到 Web3 练习的世界
    </div>
  );
}

这里 我们将 useEffect 作为生命周期 学过 Hook的朋友们都不陌生 useEffect第二个参数传一个空数组 表示这个生命周期只在进来时执行一次
然后 我们调用了自己写的一个initialization函数
这个函数 用来获取当前 本地区块链的信息 然后获取当前授权的登录列表
最后返回这个列表

然后 如果你没有授权 一进来 MetaMask 就会让你选择连接的账号
react web3源码,web3,react.js,区块链
连接好之后 这边就能拿到他的账号列表了
react web3源码,web3,react.js,区块链
好 那我们 后面再说 连接合约的内容啦文章来源地址https://www.toymoban.com/news/detail-782587.html

到了这里,关于Web3 整理React项目 导入Web3 并获取区块链信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • web3.js获取导入

    我们访问 https://github.com/ 我们搜索 web3.js 然后我们直接点击第一个进去 进入之后 往下拉 你会看到 它支持node项目的两种引入方式 这里 大家可以直接下载我的资源 https://download.csdn.net/download/weixin_45966674/87878737 下载好解压出来就会有一个 web3.min.js 我们将下载下来的js文件放在

    2024年02月08日
    浏览(26)
  • web3 在React dapp中全局管理web3当前登录用户/智能合约等信息

    上文 Web3 React项目Dapp获取智能合约对象我们在自己的前端dapp项目中链接获取到了 自己的智能合约 我们继续 我们还是先启动ganache环境 终端输入 然后发布一下我们的智能合约 打开我们的合约项目 终端输入 这样 我们的智能合约就部署到区块链上了 然后 我们启动项目 打开浏

    2024年02月06日
    浏览(47)
  • 给Web3应用新增区块链数据(Web3项目一实战之六)

    当您在浏览首页以卡片形式来展示区块链列表数据(Web3项目一实战之五)时,不禁发问,既然首页读取了 区块链 列表数据,那么,那些列表数据总得在哪个页面进行添加进去吧!绝不会凭空冒出这许多数据的。 没错,如您所想,也正是您所猜测的那般, DApp 与传统 App 一样

    2024年02月05日
    浏览(42)
  • 基础前端使用web3 进行区块链项目开发

    这篇文章不会些区块链的机制算法等一切,只是对前端开发者,如何快速上手进行区块链项目开发做一个简单的引导。 阅读本文之前,需要了解一些简单的区块链知识,能回答以下四个问题就可以阅读本文了。 1、区块链是什么? 2、区块链节点是什么? 3、钱包是什么? 4、

    2024年02月01日
    浏览(53)
  • 如何开发和搭建一个优质的Web3.0/区块链项目?

    在区块链世界和 加密领域 中 、Web3 绝对算得上是一个耀眼的明星了,现在的风头明显盖过前两位老大哥了。 相信许多人也都想尝试熟悉或者参与区块链,加密领域和 Wed3之中,今天我们就来谈谈如何以软件开发的角度,来搭建一个优质的区块链相关项目。 如何创建一个优质

    2024年01月16日
    浏览(58)
  • 25个 Web3 社交项目详细信息汇总(SocialFi)

    回顾这次的 Crypto 牛市,在众多概念中只有一个未曾爆发,也没有项目可以成功“出道”。在年初CZ公开表示看好此赛道,但是2022年已经过半还没有现象级应用出现。 这就是Web3社交应用——SocialFi。 纵观加密市场,这个赛道确实还是很有潜力的,并且对我们来说, 这种未来

    2024年02月03日
    浏览(43)
  • 首页以卡片形式来展示区块链列表数据(Web3项目一实战之五)

    我们已然在 Web3 分布式存储 IPFS(Web3项目一实战之四) 介绍了什么是 IPFS ,以及在本地电脑如何安装它。虽然在上一篇讲解了该怎么安装 IPFS ,也做了相应的配置,但在本地开发阶段,前端总是无法避免 跨域 这个远程请求 api 的”家常便饭的通病“。 很显然,对于出现 跨域

    2024年02月05日
    浏览(44)
  • WEB3 创建React前端Dapp环境并整合solidity项目,融合项目结构便捷前端拿取合约 Abi

    好 各位 经过我们上文 WEB3 solidity 带着大家编写测试代码 操作订单 创建/取消/填充操作 我们自己写了一个测试订单业务的脚本 没想到运行的还挺好的 那么 今天开始 我们就可以开始操作我们前端 Dapp 的一个操作了 在整个过程中 确实是没有我们后端的操作 或者说 我们自己就

    2024年02月07日
    浏览(60)
  • NFT/Web3/区块链项目孵化包装策划,到底该自建运营还是专业外包孵化?

    本文只讲两个问题: 1.为什么(区块链)项目策划找外包团队比自营更有优势? 2.如果项目外包为什么一定要找匠星孵化? 如果把项目的发展划分出一个等级,行业头部企业和强势资本方会比较钟意自建运营团队,便于掌控全局,但是并不是所有的企业或者项目方都有如此深厚

    2024年02月02日
    浏览(41)
  • WEB3 在 React搭建的Dapp中通过redux全局获取并存储用户ETH与自定义token与交易所存储数量

    上文 web3 在React dapp中全局管理web3当前登录用户/智能合约等信息中 我们简单操作,将web3的公共信息都存在了window对象上 然后 我们先来启动一下环境 终端输入 打开项目 终端输入 在区块链上发布一下智能合约 然后 我们在 src下的 components 目录下创建两个组件 分别是 余额组件

    2024年02月05日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包